Tue Nov 18 20:29:56 UTC 2025 I: starting to build libfirefox-marionette-perl/forky/amd64 on jenkins on '2025-11-18 20:29' Tue Nov 18 20:29:56 UTC 2025 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_29/61694/console.log Tue Nov 18 20:29:56 UTC 2025 I: Downloading source for forky/libfirefox-marionette-perl=1.68-1 --2025-11-18 20:29:57-- http://deb.debian.org/debian/pool/main/libf/libfirefox-marionette-perl/libfirefox-marionette-perl_1.68-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 3238 (3.2K) [text/prs.lines.tag] Saving to: ‘libfirefox-marionette-perl_1.68-1.dsc’ 0K ... 100% 322M=0s 2025-11-18 20:29:57 (322 MB/s) - ‘libfirefox-marionette-perl_1.68-1.dsc’ saved [3238/3238] Tue Nov 18 20:29:57 UTC 2025 I: libfirefox-marionette-perl_1.68-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: libfirefox-marionette-perl Binary: libfirefox-marionette-perl Architecture: all Version: 1.68-1 Maintainer: Debian Perl Group Uploaders: gregor herrmann , Homepage: https://metacpan.org/release/Firefox-Marionette Standards-Version: 4.7.2 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/libfirefox-marionette-perl Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/libfirefox-marionette-perl.git Testsuite: autopkgtest-pkg-perl Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: dbus-daemon , firefox-esr | firefox, libarchive-zip-perl , libconfig-ini-perl , libcrypt-passwdmd5-perl , libcrypt-urandom-perl , libdigest-sha-perl , libencode-perl , libfile-homedir-perl , libhttp-daemon-perl , libhttp-message-perl , libio-compress-perl , libio-socket-ip-perl , libio-socket-ssl-perl , libjson-perl , libpdf-api2-perl , libpod-simple-perl , libscalar-list-utils-perl , libsocket-perl , libterm-readkey-perl , libtest-simple-perl , libtext-csv-xs-perl , liburi-perl , libxml-parser-perl , perl, xauth , xvfb Package-List: libfirefox-marionette-perl deb perl optional arch=all Checksums-Sha1: 58d824d4ba342022b8909e0ce94c6743d39448dc 430422 libfirefox-marionette-perl_1.68.orig.tar.gz ebb654b6cd81a4ee775b8cb684506775fc61c602 28772 libfirefox-marionette-perl_1.68-1.debian.tar.xz Checksums-Sha256: cfc3ace7c0a4fe4199babd7b6b71dadc93ced18616a3a4c40010d408306fdd6e 430422 libfirefox-marionette-perl_1.68.orig.tar.gz 1cd8b951133cddcdaf6fea7f5bc66db5eb2e887d4ee72a99454ebc7fe708c33d 28772 libfirefox-marionette-perl_1.68-1.debian.tar.xz Files: 1e51152a5d25ad7bf6500fb2e725f951 430422 libfirefox-marionette-perl_1.68.orig.tar.gz 17281d50167658ca6615ef21422a3c05 28772 libfirefox-marionette-perl_1.68-1.debian.tar.xz Dgit: 3019c7538d5e42fee8f296abdc2ab1282091f10e debian archive/debian/1.68-1 https://git.dgit.debian.org/libfirefox-marionette-perl -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmjgZ+9fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgbIOA//bKhFFLv3JVVKSCmChNl5pA/+JHbYSNHek7xqKRWzL02x4uulCCMcRtim cj7HWGH6ykawyZ1qjCG/zCMDEpHSJvXyOlOnWJln6hxJ7ftyI6xhmiMtzNM6ao9A Ug7b6CsWlKBQjekVtSzewzjdAsUQEO5Q+EQILLy2xM+ytwL4nA9UxJgwCrGvaLK+ +wC5UXhINCHO8Cp+A1Fb5SHyvZ3qihUX7IHdNZviJnk7EzeaTXiKKUdWhxhTl4TQ lOUOevYZ2IEXsbonBW6TI8XxuUYOvG8lATcw+BG7w87R/KMiqjZv6/nrq24J9QI5 Yx8qSi/P7t+fknxyrAddu+WFm97Mb+6UVv5vQL1VzTQhkN4AmD4pCPAwklQRUtLJ UedXjJKIslmqYyLTp0p3pXwJvuSwYYeJLkldVnO7My76Y9oMKKbX34O2Hzy3W1fT FlFgiH9cEFqNqEjUeqywiNfMIqAcS0H4jhvmjMf33qkRwjx9gbDOcjnSc2z9riI4 wJjqiI1KOVX2IfsFC2lDAeK1JuC7DZcjd+tYtFamR7P4xb6D65zpgORtBzJzNvdX 270ivhnfJjNF52E0tKKdrsPPL0pt+EnAHOYjA5MrVelxysxaaLVz5bt8CspIoE9q ApX0t/QJJKUXpYcfwzoi3YOoLds/rBS0KifknenMOwRMPQ3bb/g= =Od6N -----END PGP SIGNATURE----- Tue Nov 18 20:29:57 UTC 2025 I: Checking whether the package is not for us Tue Nov 18 20:29:57 UTC 2025 I: Starting 1st build on remote node ionos1-amd64.debian.net. Tue Nov 18 20:29:57 UTC 2025 I: Preparing to do remote build '1' on ionos1-amd64.debian.net. Tue Nov 18 20:37:12 UTC 2025 I: Deleting $TMPDIR on ionos1-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Tue Nov 18 08:30:00 -12 2025 I: pbuilder-time-stamp: 1763497800 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/forky-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [libfirefox-marionette-perl_1.68-1.dsc] I: copying [./libfirefox-marionette-perl_1.68.orig.tar.gz] I: copying [./libfirefox-marionette-perl_1.68-1.debian.tar.xz] I: Extracting source dpkg-source: warning: cannot verify inline signature for ./libfirefox-marionette-perl_1.68-1.dsc: no acceptable signature found dpkg-source: info: extracting libfirefox-marionette-perl in libfirefox-marionette-perl-1.68 dpkg-source: info: unpacking libfirefox-marionette-perl_1.68.orig.tar.gz dpkg-source: info: unpacking libfirefox-marionette-perl_1.68-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying no-network.patch I: using fakeroot in build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/2771984/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=40 ' DISTRIBUTION='forky' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='afb5da9b3cca4b42962f98ddc086b379' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='2771984' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/pbuilderrc_rwyY --distribution forky --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/forky-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/b1 --logfile b1/build.log libfirefox-marionette-perl_1.68-1.dsc' SUDO_GID='110' SUDO_HOME='/var/lib/jenkins' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://46.16.76.132:3128' I: uname -a Linux ionos1-amd64 6.12.57+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.57-1 (2025-11-05) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 10 12:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/2771984/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), dbus-daemon, firefox-esr | firefox, libarchive-zip-perl, libconfig-ini-perl, libcrypt-passwdmd5-perl, libcrypt-urandom-perl, libdigest-sha-perl, libencode-perl, libfile-homedir-perl, libhttp-daemon-perl, libhttp-message-perl, libio-compress-perl, libio-socket-ip-perl, libio-socket-ssl-perl, libjson-perl, libpdf-api2-perl, libpod-simple-perl, libscalar-list-utils-perl, libsocket-perl, libterm-readkey-perl, libtest-simple-perl, libtext-csv-xs-perl, liburi-perl, libxml-parser-perl, perl, xauth, xvfb dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19862 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dbus-daemon; however: Package dbus-daemon is not installed. pbuilder-satisfydepends-dummy depends on firefox-esr | firefox; however: Package firefox-esr is not installed. Package firefox is not installed. pbuilder-satisfydepends-dummy depends on libarchive-zip-perl; however: Package libarchive-zip-perl is not installed. pbuilder-satisfydepends-dummy depends on libconfig-ini-perl; however: Package libconfig-ini-perl is not installed. pbuilder-satisfydepends-dummy depends on libcrypt-passwdmd5-perl; however: Package libcrypt-passwdmd5-perl is not installed. pbuilder-satisfydepends-dummy depends on libcrypt-urandom-perl; however: Package libcrypt-urandom-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-homedir-perl; however: Package libfile-homedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libhttp-daemon-perl; however: Package libhttp-daemon-perl is not installed. pbuilder-satisfydepends-dummy depends on libhttp-message-perl; however: Package libhttp-message-perl is not installed. pbuilder-satisfydepends-dummy depends on libio-socket-ssl-perl; however: Package libio-socket-ssl-perl is not installed. pbuilder-satisfydepends-dummy depends on libjson-perl; however: Package libjson-perl is not installed. pbuilder-satisfydepends-dummy depends on libpdf-api2-perl; however: Package libpdf-api2-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-readkey-perl; however: Package libterm-readkey-perl is not installed. pbuilder-satisfydepends-dummy depends on libtext-csv-xs-perl; however: Package libtext-csv-xs-perl is not installed. pbuilder-satisfydepends-dummy depends on liburi-perl; however: Package liburi-perl is not installed. pbuilder-satisfydepends-dummy depends on libxml-parser-perl; however: Package libxml-parser-perl is not installed. pbuilder-satisfydepends-dummy depends on xauth; however: Package xauth is not installed. pbuilder-satisfydepends-dummy depends on xvfb; however: Package xvfb is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: adwaita-icon-theme{a} at-spi2-common{a} autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} dbus{a} dbus-bin{a} dbus-daemon{a} dbus-session-bus-common{a} dbus-system-bus-common{a} dbus-user-session{a} dconf-gsettings-backend{a} dconf-service{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} dwz{a} file{a} firefox-esr{a} fontconfig{a} fontconfig-config{a} fonts-dejavu-core{a} fonts-dejavu-mono{a} gettext{a} gettext-base{a} groff-base{a} gtk-update-icon-cache{a} hicolor-icon-theme{a} intltool-debian{a} libapparmor1{a} libarchive-zip-perl{a} libasound2-data{a} libasound2t64{a} libatk-bridge2.0-0t64{a} libatk1.0-0t64{a} libatspi2.0-0t64{a} libavahi-client3{a} libavahi-common-data{a} libavahi-common3{a} libbrotli1{a} libcairo-gobject2{a} libcairo2{a} libclone-perl{a} libcloudproviders0{a} libcolord2{a} libcom-err2{a} libconfig-ini-perl{a} libcrypt-passwdmd5-perl{a} libcrypt-urandom-perl{a} libcups2t64{a} libdata-optlist-perl{a} libdatrie1{a} libdbus-1-3{a} libdconf1{a} libdebhelper-perl{a} libdeflate0{a} libdrm-amdgpu1{a} libdrm-common{a} libdrm-intel1{a} libdrm2{a} libedit2{a} libelf1t64{a} libencode-locale-perl{a} libepoxy0{a} libevent-2.1-7t64{a} libexpat1{a} libffi8{a} libfile-homedir-perl{a} libfile-listing-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfont-ttf-perl{a} libfontconfig1{a} libfontenc1{a} libfreetype6{a} libfribidi0{a} libgbm1{a} libgdk-pixbuf-2.0-0{a} libgdk-pixbuf2.0-common{a} libgl1{a} libgl1-mesa-dri{a} libglib2.0-0t64{a} libglvnd0{a} libglx-mesa0{a} libglx0{a} libgnutls30t64{a} libgraphite2-3{a} libgssapi-krb5-2{a} libgtk-3-0t64{a} libgtk-3-common{a} libharfbuzz0b{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-daemon-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libice6{a} libidn2-0{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-string-perl{a} libjbig0{a} libjpeg62-turbo{a} libjson-perl{a} libk5crypto3{a} libkeyutils1{a} libkrb5-3{a} libkrb5support0{a} liblcms2-2{a} liblerc4{a} libllvm19{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1t64{a} libmixin-linewise-perl{a} libnet-http-perl{a} libnet-ssleay-perl{a} libnspr4{a} libnss3{a} libp11-kit0{a} libpam-systemd{a} libpango-1.0-0{a} libpangocairo-1.0-0{a} libpangoft2-1.0-0{a} libparams-util-perl{a} libpciaccess0{a} libpdf-api2-perl{a} libperlio-utf8-strict-perl{a} libpipeline1{a} libpixman-1-0{a} libpng16-16t64{a} libproc2-0{a} libsensors-config{a} libsensors5{a} libsharpyuv0{a} libsm6{a} libsub-exporter-perl{a} libsub-install-perl{a} libsystemd-shared{a} libtasn1-6{a} libterm-readkey-perl{a} libtext-csv-xs-perl{a} libthai-data{a} libthai0{a} libtiff6{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libuchardet0{a} libunistring5{a} libunwind8{a} liburi-perl{a} libvpx11{a} libvulkan1{a} libwayland-client0{a} libwayland-cursor0{a} libwayland-egl1{a} libwebp7{a} libwww-perl{a} libwww-robotrules-perl{a} libx11-6{a} libx11-data{a} libx11-xcb1{a} libxau6{a} libxaw7{a} libxcb-dri3-0{a} libxcb-glx0{a} libxcb-present0{a} libxcb-randr0{a} libxcb-render0{a} libxcb-shm0{a} libxcb-sync1{a} libxcb-xfixes0{a} libxcb1{a} libxcomposite1{a} libxcursor1{a} libxdamage1{a} libxdmcp6{a} libxext6{a} libxfixes3{a} libxfont2{a} libxi6{a} libxinerama1{a} libxkbcommon0{a} libxkbfile1{a} libxml-parser-perl{a} libxml2-16{a} libxmu6{a} libxmuu1{a} libxpm4{a} libxrandr2{a} libxrender1{a} libxshmfence1{a} libxt6t64{a} libxxf86vm1{a} libz3-4{a} m4{a} man-db{a} mesa-libgallium{a} netbase{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} procps{a} sensible-utils{a} shared-mime-info{a} systemd{a} systemd-sysv{a} x11-common{a} x11-xkb-utils{a} xauth{a} xkb-data{a} xserver-common{a} xvfb{a} The following packages are RECOMMENDED but will NOT be installed: alsa-topology-conf alsa-ucm-conf at-spi2-core chrony curl krb5-locales libarchive-cpio-perl libavcodec-extra61 libavcodec61 libdata-dump-perl libgdk-pixbuf2.0-bin libglib2.0-data libgtk-3-bin libhtml-form-perl libhtml-format-perl libimage-png-libpng-perl libio-compress-brotli-perl libjson-xs-perl libkmod2 libltdl-dev libmail-sendmail-perl libmailtools-perl libnss-systemd libpdf-api2-xs-perl librsvg2-common linux-sysctl-defaults login lynx mesa-vulkan-drivers ntpsec openntpd psmisc ptpd systemd-cryptsetup systemd-timesyncd wget xdg-user-dirs xfonts-base 0 packages upgraded, 221 newly installed, 0 to remove and 0 not upgraded. Need to get 177 MB of archives. After unpacking 710 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian forky/main amd64 libsystemd-shared amd64 258.1-2 [2253 kB] Get: 2 http://deb.debian.org/debian forky/main amd64 systemd amd64 258.1-2 [3229 kB] Get: 3 http://deb.debian.org/debian forky/main amd64 systemd-sysv amd64 258.1-2 [63.8 kB] Get: 4 http://deb.debian.org/debian forky/main amd64 libdbus-1-3 amd64 1.16.2-2 [178 kB] Get: 5 http://deb.debian.org/debian forky/main amd64 dbus-bin amd64 1.16.2-2 [80.0 kB] Get: 6 http://deb.debian.org/debian forky/main amd64 dbus-session-bus-common all 1.16.2-2 [52.3 kB] Get: 7 http://deb.debian.org/debian forky/main amd64 libapparmor1 amd64 4.1.0-1 [43.7 kB] Get: 8 http://deb.debian.org/debian forky/main amd64 libexpat1 amd64 2.7.3-1 [112 kB] Get: 9 http://deb.debian.org/debian forky/main amd64 dbus-daemon amd64 1.16.2-2 [159 kB] Get: 10 http://deb.debian.org/debian forky/main amd64 dbus-system-bus-common all 1.16.2-2 [53.5 kB] Get: 11 http://deb.debian.org/debian forky/main amd64 dbus amd64 1.16.2-2 [71.6 kB] Get: 12 http://deb.debian.org/debian forky/main amd64 netbase all 6.5 [12.4 kB] Get: 13 http://deb.debian.org/debian forky/main amd64 libproc2-0 amd64 2:4.0.4-9 [65.6 kB] Get: 14 http://deb.debian.org/debian forky/main amd64 procps amd64 2:4.0.4-9 [882 kB] Get: 15 http://deb.debian.org/debian forky/main amd64 sensible-utils all 0.0.26 [27.0 kB] Get: 16 http://deb.debian.org/debian forky/main amd64 openssl amd64 3.5.4-1 [1496 kB] Get: 17 http://deb.debian.org/debian forky/main amd64 ca-certificates all 20250419 [162 kB] Get: 18 http://deb.debian.org/debian forky/main amd64 libmagic-mgc amd64 1:5.46-5 [338 kB] Get: 19 http://deb.debian.org/debian forky/main amd64 libmagic1t64 amd64 1:5.46-5 [109 kB] Get: 20 http://deb.debian.org/debian forky/main amd64 file amd64 1:5.46-5 [43.6 kB] Get: 21 http://deb.debian.org/debian forky/main amd64 gettext-base amd64 0.23.1-2+b1 [244 kB] Get: 22 http://deb.debian.org/debian forky/main amd64 libuchardet0 amd64 0.0.8-2 [68.5 kB] Get: 23 http://deb.debian.org/debian forky/main amd64 groff-base amd64 1.23.0-9 [1187 kB] Get: 24 http://deb.debian.org/debian forky/main amd64 libpam-systemd amd64 258.1-2 [312 kB] Get: 25 http://deb.debian.org/debian forky/main amd64 bsdextrautils amd64 2.41.2-4 [98.5 kB] Get: 26 http://deb.debian.org/debian forky/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 27 http://deb.debian.org/debian forky/main amd64 man-db amd64 2.13.1-1 [1469 kB] Get: 28 http://deb.debian.org/debian forky/main amd64 libgdk-pixbuf2.0-common all 2.44.4+dfsg-1 [313 kB] Get: 29 http://deb.debian.org/debian forky/main amd64 libffi8 amd64 3.5.2-2 [25.5 kB] Get: 30 http://deb.debian.org/debian forky/main amd64 libglib2.0-0t64 amd64 2.86.1-2 [1547 kB] Get: 31 http://deb.debian.org/debian forky/main amd64 libxml2-16 amd64 2.15.1+dfsg-0.4 [640 kB] Get: 32 http://deb.debian.org/debian forky/main amd64 shared-mime-info amd64 2.4-5+b3 [758 kB] Get: 33 http://deb.debian.org/debian forky/main amd64 libjpeg62-turbo amd64 1:2.1.5-4 [168 kB] Get: 34 http://deb.debian.org/debian forky/main amd64 libpng16-16t64 amd64 1.6.50-1 [282 kB] Get: 35 http://deb.debian.org/debian forky/main amd64 libdeflate0 amd64 1.23-2 [47.3 kB] Get: 36 http://deb.debian.org/debian forky/main amd64 libjbig0 amd64 2.1-6.1+b2 [32.1 kB] Get: 37 http://deb.debian.org/debian forky/main amd64 liblerc4 amd64 4.0.0+ds-5 [183 kB] Get: 38 http://deb.debian.org/debian forky/main amd64 libsharpyuv0 amd64 1.5.0-0.1 [116 kB] Get: 39 http://deb.debian.org/debian forky/main amd64 libwebp7 amd64 1.5.0-0.1 [318 kB] Get: 40 http://deb.debian.org/debian forky/main amd64 libtiff6 amd64 4.7.1-1 [361 kB] Get: 41 http://deb.debian.org/debian forky/main amd64 libgdk-pixbuf-2.0-0 amd64 2.44.4+dfsg-1 [144 kB] Get: 42 http://deb.debian.org/debian forky/main amd64 gtk-update-icon-cache amd64 4.20.2+ds-2 [53.6 kB] Get: 43 http://deb.debian.org/debian forky/main amd64 hicolor-icon-theme all 0.18-2 [11.8 kB] Get: 44 http://deb.debian.org/debian forky/main amd64 adwaita-icon-theme all 49.0-1 [507 kB] Get: 45 http://deb.debian.org/debian forky/main amd64 at-spi2-common all 2.58.1-1 [173 kB] Get: 46 http://deb.debian.org/debian forky/main amd64 m4 amd64 1.4.20-2 [325 kB] Get: 47 http://deb.debian.org/debian forky/main amd64 autoconf all 2.72-3.1 [494 kB] Get: 48 http://deb.debian.org/debian forky/main amd64 autotools-dev all 20240727.1 [60.2 kB] Get: 49 http://deb.debian.org/debian forky/main amd64 automake all 1:1.18.1-2 [877 kB] Get: 50 http://deb.debian.org/debian forky/main amd64 autopoint all 0.23.1-2 [770 kB] Get: 51 http://deb.debian.org/debian forky/main amd64 dbus-user-session amd64 1.16.2-2 [52.1 kB] Get: 52 http://deb.debian.org/debian forky/main amd64 libdconf1 amd64 0.49.0-2 [43.7 kB] Get: 53 http://deb.debian.org/debian forky/main amd64 dconf-service amd64 0.49.0-2 [33.7 kB] Get: 54 http://deb.debian.org/debian forky/main amd64 dconf-gsettings-backend amd64 0.49.0-2 [30.0 kB] Get: 55 http://deb.debian.org/debian forky/main amd64 libdebhelper-perl all 13.28 [92.4 kB] Get: 56 http://deb.debian.org/debian forky/main amd64 libtool all 2.5.4-7 [540 kB] Get: 57 http://deb.debian.org/debian forky/main amd64 dh-autoreconf all 21 [12.2 kB] Get: 58 http://deb.debian.org/debian forky/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 59 http://deb.debian.org/debian forky/main amd64 libfile-stripnondeterminism-perl all 1.15.0-1 [19.9 kB] Get: 60 http://deb.debian.org/debian forky/main amd64 dh-strip-nondeterminism all 1.15.0-1 [8812 B] Get: 61 http://deb.debian.org/debian forky/main amd64 libelf1t64 amd64 0.194-1 [185 kB] Get: 62 http://deb.debian.org/debian forky/main amd64 dwz amd64 0.16-2 [108 kB] Get: 63 http://deb.debian.org/debian forky/main amd64 libunistring5 amd64 1.3-2 [477 kB] Get: 64 http://deb.debian.org/debian forky/main amd64 gettext amd64 0.23.1-2+b1 [1680 kB] Get: 65 http://deb.debian.org/debian forky/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 66 http://deb.debian.org/debian forky/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 67 http://deb.debian.org/debian forky/main amd64 debhelper all 13.28 [941 kB] Get: 68 http://deb.debian.org/debian forky/main amd64 libasound2-data all 1.2.14-2 [21.1 kB] Get: 69 http://deb.debian.org/debian forky/main amd64 libasound2t64 amd64 1.2.14-2 [420 kB] Get: 70 http://deb.debian.org/debian forky/main amd64 libatk1.0-0t64 amd64 2.58.1-1 [53.0 kB] Get: 71 http://deb.debian.org/debian forky/main amd64 libbrotli1 amd64 1.1.0-2+b7 [307 kB] Get: 72 http://deb.debian.org/debian forky/main amd64 libfreetype6 amd64 2.13.3+dfsg-1 [452 kB] Get: 73 http://deb.debian.org/debian forky/main amd64 fonts-dejavu-mono all 2.37-8 [489 kB] Get: 74 http://deb.debian.org/debian forky/main amd64 fonts-dejavu-core all 2.37-8 [840 kB] Get: 75 http://deb.debian.org/debian forky/main amd64 fontconfig-config amd64 2.15.0-2.4 [318 kB] Get: 76 http://deb.debian.org/debian forky/main amd64 libfontconfig1 amd64 2.15.0-2.4 [401 kB] Get: 77 http://deb.debian.org/debian forky/main amd64 libpixman-1-0 amd64 0.46.4-1 [259 kB] Get: 78 http://deb.debian.org/debian forky/main amd64 libxau6 amd64 1:1.0.11-1 [20.4 kB] Get: 79 http://deb.debian.org/debian forky/main amd64 libxdmcp6 amd64 1:1.1.5-1 [27.8 kB] Get: 80 http://deb.debian.org/debian forky/main amd64 libxcb1 amd64 1.17.0-2+b1 [144 kB] Get: 81 http://deb.debian.org/debian forky/main amd64 libx11-data all 2:1.8.12-1 [343 kB] Get: 82 http://deb.debian.org/debian forky/main amd64 libx11-6 amd64 2:1.8.12-1 [815 kB] Get: 83 http://deb.debian.org/debian forky/main amd64 libxcb-render0 amd64 1.17.0-2+b1 [115 kB] Get: 84 http://deb.debian.org/debian forky/main amd64 libxcb-shm0 amd64 1.17.0-2+b1 [105 kB] Get: 85 http://deb.debian.org/debian forky/main amd64 libxext6 amd64 2:1.3.4-1+b3 [50.4 kB] Get: 86 http://deb.debian.org/debian forky/main amd64 libxrender1 amd64 1:0.9.12-1 [27.9 kB] Get: 87 http://deb.debian.org/debian forky/main amd64 libcairo2 amd64 1.18.4-1+b1 [538 kB] Get: 88 http://deb.debian.org/debian forky/main amd64 libcairo-gobject2 amd64 1.18.4-1+b1 [130 kB] Get: 89 http://deb.debian.org/debian forky/main amd64 libevent-2.1-7t64 amd64 2.1.12-stable-10+b1 [182 kB] Get: 90 http://deb.debian.org/debian forky/main amd64 libxi6 amd64 2:1.8.2-1 [78.9 kB] Get: 91 http://deb.debian.org/debian forky/main amd64 libatspi2.0-0t64 amd64 2.58.1-1 [81.8 kB] Get: 92 http://deb.debian.org/debian forky/main amd64 libatk-bridge2.0-0t64 amd64 2.58.1-1 [69.7 kB] Get: 93 http://deb.debian.org/debian forky/main amd64 libcloudproviders0 amd64 0.3.6-3 [32.9 kB] Get: 94 http://deb.debian.org/debian forky/main amd64 liblcms2-2 amd64 2.16-2 [160 kB] Get: 95 http://deb.debian.org/debian forky/main amd64 libcolord2 amd64 1.4.8-2 [140 kB] Get: 96 http://deb.debian.org/debian forky/main amd64 libavahi-common-data amd64 0.8-17 [112 kB] Get: 97 http://deb.debian.org/debian forky/main amd64 libavahi-common3 amd64 0.8-17 [47.3 kB] Get: 98 http://deb.debian.org/debian forky/main amd64 libavahi-client3 amd64 0.8-17 [52.1 kB] Get: 99 http://deb.debian.org/debian forky/main amd64 libidn2-0 amd64 2.3.8-4 [110 kB] Get: 100 http://deb.debian.org/debian forky/main amd64 libp11-kit0 amd64 0.25.9-2 [443 kB] Get: 101 http://deb.debian.org/debian forky/main amd64 libtasn1-6 amd64 4.20.0-2 [49.9 kB] Get: 102 http://deb.debian.org/debian forky/main amd64 libgnutls30t64 amd64 3.8.10-3 [1493 kB] Get: 103 http://deb.debian.org/debian forky/main amd64 libkrb5support0 amd64 1.22.1-2 [33.1 kB] Get: 104 http://deb.debian.org/debian forky/main amd64 libcom-err2 amd64 1.47.2-3+b3 [25.0 kB] Get: 105 http://deb.debian.org/debian forky/main amd64 libk5crypto3 amd64 1.22.1-2 [81.1 kB] Get: 106 http://deb.debian.org/debian forky/main amd64 libkeyutils1 amd64 1.6.3-6 [9456 B] Get: 107 http://deb.debian.org/debian forky/main amd64 libkrb5-3 amd64 1.22.1-2 [337 kB] Get: 108 http://deb.debian.org/debian forky/main amd64 libgssapi-krb5-2 amd64 1.22.1-2 [139 kB] Get: 109 http://deb.debian.org/debian forky/main amd64 libcups2t64 amd64 2.4.14-1 [255 kB] Get: 110 http://deb.debian.org/debian forky/main amd64 libepoxy0 amd64 1.5.10-2 [193 kB] Get: 111 http://deb.debian.org/debian forky/main amd64 libfribidi0 amd64 1.0.16-3 [26.6 kB] Get: 112 http://deb.debian.org/debian forky/main amd64 libgraphite2-3 amd64 1.3.14-11 [76.7 kB] Get: 113 http://deb.debian.org/debian forky/main amd64 libharfbuzz0b amd64 12.1.0-1 [530 kB] Get: 114 http://deb.debian.org/debian forky/main amd64 fontconfig amd64 2.15.0-2.4 [464 kB] Get: 115 http://deb.debian.org/debian forky/main amd64 libthai-data all 0.1.29-2 [168 kB] Get: 116 http://deb.debian.org/debian forky/main amd64 libdatrie1 amd64 0.2.13-4 [38.0 kB] Get: 117 http://deb.debian.org/debian forky/main amd64 libthai0 amd64 0.1.29-2+b1 [49.4 kB] Get: 118 http://deb.debian.org/debian forky/main amd64 libpango-1.0-0 amd64 1.56.3-2 [239 kB] Get: 119 http://deb.debian.org/debian forky/main amd64 libpangoft2-1.0-0 amd64 1.56.3-2 [62.0 kB] Get: 120 http://deb.debian.org/debian forky/main amd64 libpangocairo-1.0-0 amd64 1.56.3-2 [38.1 kB] Get: 121 http://deb.debian.org/debian forky/main amd64 libwayland-client0 amd64 1.24.0-2+b1 [28.5 kB] Get: 122 http://deb.debian.org/debian forky/main amd64 libwayland-cursor0 amd64 1.24.0-2+b1 [12.3 kB] Get: 123 http://deb.debian.org/debian forky/main amd64 libwayland-egl1 amd64 1.24.0-2+b1 [6224 B] Get: 124 http://deb.debian.org/debian forky/main amd64 libxcomposite1 amd64 1:0.4.6-1 [16.3 kB] Get: 125 http://deb.debian.org/debian forky/main amd64 libxfixes3 amd64 1:6.0.0-2+b4 [20.2 kB] Get: 126 http://deb.debian.org/debian forky/main amd64 libxcursor1 amd64 1:1.2.3-1 [39.7 kB] Get: 127 http://deb.debian.org/debian forky/main amd64 libxdamage1 amd64 1:1.1.6-1+b2 [15.5 kB] Get: 128 http://deb.debian.org/debian forky/main amd64 libxinerama1 amd64 2:1.1.4-3+b4 [16.0 kB] Get: 129 http://deb.debian.org/debian forky/main amd64 xkb-data all 2.42-1 [790 kB] Get: 130 http://deb.debian.org/debian forky/main amd64 libxkbcommon0 amd64 1.12.3-1 [146 kB] Get: 131 http://deb.debian.org/debian forky/main amd64 libxrandr2 amd64 2:1.5.4-1+b3 [36.3 kB] Get: 132 http://deb.debian.org/debian forky/main amd64 libgtk-3-common all 3.24.51-1 [4922 kB] Get: 133 http://deb.debian.org/debian forky/main amd64 libgtk-3-0t64 amd64 3.24.51-1 [2932 kB] Get: 134 http://deb.debian.org/debian forky/main amd64 libnspr4 amd64 2:4.38.2-1 [111 kB] Get: 135 http://deb.debian.org/debian forky/main amd64 libnss3 amd64 2:3.117-1 [1429 kB] Get: 136 http://deb.debian.org/debian forky/main amd64 libvpx11 amd64 1.15.2-2 [1111 kB] Get: 137 http://deb.debian.org/debian forky/main amd64 libx11-xcb1 amd64 2:1.8.12-1 [247 kB] Get: 138 http://deb.debian.org/debian forky/main amd64 firefox-esr amd64 140.5.0esr-1 [70.9 MB] Get: 139 http://deb.debian.org/debian forky/main amd64 libclone-perl amd64 0.47-1+b1 [13.9 kB] Get: 140 http://deb.debian.org/debian forky/main amd64 libperlio-utf8-strict-perl amd64 0.010-1+b3 [11.4 kB] Get: 141 http://deb.debian.org/debian forky/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB] Get: 142 http://deb.debian.org/debian forky/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 143 http://deb.debian.org/debian forky/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 144 http://deb.debian.org/debian forky/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 145 http://deb.debian.org/debian forky/main amd64 libmixin-linewise-perl all 0.111-1 [14.4 kB] Get: 146 http://deb.debian.org/debian forky/main amd64 libconfig-ini-perl all 1:0.029-1 [23.7 kB] Get: 147 http://deb.debian.org/debian forky/main amd64 libcrypt-passwdmd5-perl all 1.42-2 [8448 B] Get: 148 http://deb.debian.org/debian forky/main amd64 libcrypt-urandom-perl amd64 0.54-1 [15.5 kB] Get: 149 http://deb.debian.org/debian forky/main amd64 libdrm-common all 2.4.127-1 [9060 B] Get: 150 http://deb.debian.org/debian forky/main amd64 libdrm2 amd64 2.4.127-1 [39.8 kB] Get: 151 http://deb.debian.org/debian forky/main amd64 libdrm-amdgpu1 amd64 2.4.127-1 [23.8 kB] Get: 152 http://deb.debian.org/debian forky/main amd64 libpciaccess0 amd64 0.17-3+b3 [51.9 kB] Get: 153 http://deb.debian.org/debian forky/main amd64 libdrm-intel1 amd64 2.4.127-1 [65.6 kB] Get: 154 http://deb.debian.org/debian forky/main amd64 libedit2 amd64 3.1-20250104-1 [93.8 kB] Get: 155 http://deb.debian.org/debian forky/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 156 http://deb.debian.org/debian forky/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 157 http://deb.debian.org/debian forky/main amd64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 158 http://deb.debian.org/debian forky/main amd64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 159 http://deb.debian.org/debian forky/main amd64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 160 http://deb.debian.org/debian forky/main amd64 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 161 http://deb.debian.org/debian forky/main amd64 libio-string-perl all 1.08-4 [12.1 kB] Get: 162 http://deb.debian.org/debian forky/main amd64 libfont-ttf-perl all 1.06-2 [318 kB] Get: 163 http://deb.debian.org/debian forky/main amd64 libfontenc1 amd64 1:1.1.8-1+b2 [23.3 kB] Get: 164 http://deb.debian.org/debian forky/main amd64 libz3-4 amd64 4.13.3-1 [8560 kB] Get: 165 http://deb.debian.org/debian forky/main amd64 libllvm19 amd64 1:19.1.7-10.1 [26.0 MB] Get: 166 http://deb.debian.org/debian forky/main amd64 libsensors-config all 1:3.6.2-2 [16.2 kB] Get: 167 http://deb.debian.org/debian forky/main amd64 libsensors5 amd64 1:3.6.2-2 [37.5 kB] Get: 168 http://deb.debian.org/debian forky/main amd64 libxcb-dri3-0 amd64 1.17.0-2+b1 [107 kB] Get: 169 http://deb.debian.org/debian forky/main amd64 libxcb-present0 amd64 1.17.0-2+b1 [106 kB] Get: 170 http://deb.debian.org/debian forky/main amd64 libxcb-randr0 amd64 1.17.0-2+b1 [117 kB] Get: 171 http://deb.debian.org/debian forky/main amd64 libxcb-sync1 amd64 1.17.0-2+b1 [109 kB] Get: 172 http://deb.debian.org/debian forky/main amd64 libxcb-xfixes0 amd64 1.17.0-2+b1 [109 kB] Get: 173 http://deb.debian.org/debian forky/main amd64 libxshmfence1 amd64 1.3.3-1 [10.9 kB] Get: 174 http://deb.debian.org/debian forky/main amd64 mesa-libgallium amd64 25.2.6-1 [10.3 MB] Get: 175 http://deb.debian.org/debian forky/main amd64 libgbm1 amd64 25.2.6-1 [46.0 kB] Get: 176 http://deb.debian.org/debian forky/main amd64 libglvnd0 amd64 1.7.0-1+b2 [52.0 kB] Get: 177 http://deb.debian.org/debian forky/main amd64 libxcb-glx0 amd64 1.17.0-2+b1 [122 kB] Get: 178 http://deb.debian.org/debian forky/main amd64 libxxf86vm1 amd64 1:1.1.4-2 [19.9 kB] Get: 179 http://deb.debian.org/debian forky/main amd64 libvulkan1 amd64 1.4.328.1-1 [140 kB] Get: 180 http://deb.debian.org/debian forky/main amd64 libgl1-mesa-dri amd64 25.2.6-1 [47.8 kB] Get: 181 http://deb.debian.org/debian forky/main amd64 libglx-mesa0 amd64 25.2.6-1 [116 kB] Get: 182 http://deb.debian.org/debian forky/main amd64 libglx0 amd64 1.7.0-1+b2 [34.9 kB] Get: 183 http://deb.debian.org/debian forky/main amd64 libgl1 amd64 1.7.0-1+b2 [89.5 kB] Get: 184 http://deb.debian.org/debian forky/main amd64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 185 http://deb.debian.org/debian forky/main amd64 liburi-perl all 5.34-2 [111 kB] Get: 186 http://deb.debian.org/debian forky/main amd64 libhtml-parser-perl amd64 3.83-1+b2 [99.7 kB] Get: 187 http://deb.debian.org/debian forky/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Get: 188 http://deb.debian.org/debian forky/main amd64 libio-html-perl all 1.004-3 [16.2 kB] Get: 189 http://deb.debian.org/debian forky/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 190 http://deb.debian.org/debian forky/main amd64 libhttp-message-perl all 7.01-1 [80.0 kB] Get: 191 http://deb.debian.org/debian forky/main amd64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 192 http://deb.debian.org/debian forky/main amd64 libhttp-daemon-perl all 6.16-1 [23.5 kB] Get: 193 http://deb.debian.org/debian forky/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 194 http://deb.debian.org/debian forky/main amd64 x11-common all 1:7.7+26 [217 kB] Get: 195 http://deb.debian.org/debian forky/main amd64 libice6 amd64 2:1.1.1-1 [65.4 kB] Get: 196 http://deb.debian.org/debian forky/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Get: 197 http://deb.debian.org/debian forky/main amd64 libnet-ssleay-perl amd64 1.94-3 [339 kB] Get: 198 http://deb.debian.org/debian forky/main amd64 libio-socket-ssl-perl all 2.095-1 [226 kB] Get: 199 http://deb.debian.org/debian forky/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 200 http://deb.debian.org/debian forky/main amd64 libnet-http-perl all 6.24-1 [23.2 kB] Get: 201 http://deb.debian.org/debian forky/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 202 http://deb.debian.org/debian forky/main amd64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 203 http://deb.debian.org/debian forky/main amd64 libwww-perl all 6.81-1 [186 kB] Get: 204 http://deb.debian.org/debian forky/main amd64 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 205 http://deb.debian.org/debian forky/main amd64 libpdf-api2-perl all 2.048-1 [1342 kB] Get: 206 http://deb.debian.org/debian forky/main amd64 libsm6 amd64 2:1.2.6-1 [37.3 kB] Get: 207 http://deb.debian.org/debian forky/main amd64 libterm-readkey-perl amd64 2.38-2+b4 [24.6 kB] Get: 208 http://deb.debian.org/debian forky/main amd64 libtext-csv-xs-perl amd64 1.61-1 [140 kB] Get: 209 http://deb.debian.org/debian forky/main amd64 libunwind8 amd64 1.8.1-0.1 [56.3 kB] Get: 210 http://deb.debian.org/debian forky/main amd64 libxt6t64 amd64 1:1.2.1-1.3 [208 kB] Get: 211 http://deb.debian.org/debian forky/main amd64 libxmu6 amd64 2:1.1.3-3+b4 [59.0 kB] Get: 212 http://deb.debian.org/debian forky/main amd64 libxpm4 amd64 1:3.5.17-1+b3 [56.2 kB] Get: 213 http://deb.debian.org/debian forky/main amd64 libxaw7 amd64 2:1.0.16-1 [212 kB] Get: 214 http://deb.debian.org/debian forky/main amd64 libxfont2 amd64 1:2.0.6-1+b3 [132 kB] Get: 215 http://deb.debian.org/debian forky/main amd64 libxkbfile1 amd64 1:1.1.0-1+b4 [76.5 kB] Get: 216 http://deb.debian.org/debian forky/main amd64 libxml-parser-perl amd64 2.47-1+b3 [198 kB] Get: 217 http://deb.debian.org/debian forky/main amd64 libxmuu1 amd64 2:1.1.3-3+b4 [21.9 kB] Get: 218 http://deb.debian.org/debian forky/main amd64 x11-xkb-utils amd64 7.7+9 [159 kB] Get: 219 http://deb.debian.org/debian forky/main amd64 xauth amd64 1:1.1.2-1.1 [35.9 kB] Get: 220 http://deb.debian.org/debian forky/main amd64 xserver-common all 2:21.1.20-1 [2434 kB] Get: 221 http://deb.debian.org/debian forky/main amd64 xvfb amd64 2:21.1.20-1 [3241 kB] Fetched 177 MB in 38s (4665 kB/s) Preconfiguring packages ... Selecting previously unselected package libsystemd-shared:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19862 files and directories currently installed.) Preparing to unpack .../libsystemd-shared_258.1-2_amd64.deb ... Unpacking libsystemd-shared:amd64 (258.1-2) ... Setting up libsystemd-shared:amd64 (258.1-2) ... Selecting previously unselected package systemd. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19870 files and directories currently installed.) Preparing to unpack .../systemd_258.1-2_amd64.deb ... Unpacking systemd (258.1-2) ... Setting up systemd (258.1-2) ... Created symlink '/etc/systemd/system/getty.target.wants/getty@tty1.service' -> '/usr/lib/systemd/system/getty@.service'. Created symlink '/etc/systemd/system/multi-user.target.wants/remote-fs.target' -> '/usr/lib/systemd/system/remote-fs.target'. Created symlink '/etc/systemd/system/sysinit.target.wants/systemd-pstore.service' -> '/usr/lib/systemd/system/systemd-pstore.service'. Initializing machine ID from random generator. Creating group 'systemd-journal' with GID 999. Creating group 'systemd-network' with GID 998. Creating user 'systemd-network' (systemd Network Management) with UID 998 and GID 998. /usr/lib/tmpfiles.d/legacy.conf:14: Duplicate line for path "/run/lock", ignoring. Selecting previously unselected package systemd-sysv. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20868 files and directories currently installed.) Preparing to unpack .../000-systemd-sysv_258.1-2_amd64.deb ... Unpacking systemd-sysv (258.1-2) ... Selecting previously unselected package libdbus-1-3:amd64. Preparing to unpack .../001-libdbus-1-3_1.16.2-2_amd64.deb ... Unpacking libdbus-1-3:amd64 (1.16.2-2) ... Selecting previously unselected package dbus-bin. Preparing to unpack .../002-dbus-bin_1.16.2-2_amd64.deb ... Unpacking dbus-bin (1.16.2-2) ... Selecting previously unselected package dbus-session-bus-common. Preparing to unpack .../003-dbus-session-bus-common_1.16.2-2_all.deb ... Unpacking dbus-session-bus-common (1.16.2-2) ... Selecting previously unselected package libapparmor1:amd64. Preparing to unpack .../004-libapparmor1_4.1.0-1_amd64.deb ... Unpacking libapparmor1:amd64 (4.1.0-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../005-libexpat1_2.7.3-1_amd64.deb ... Unpacking libexpat1:amd64 (2.7.3-1) ... Selecting previously unselected package dbus-daemon. Preparing to unpack .../006-dbus-daemon_1.16.2-2_amd64.deb ... Unpacking dbus-daemon (1.16.2-2) ... Selecting previously unselected package dbus-system-bus-common. Preparing to unpack .../007-dbus-system-bus-common_1.16.2-2_all.deb ... Unpacking dbus-system-bus-common (1.16.2-2) ... Selecting previously unselected package dbus. Preparing to unpack .../008-dbus_1.16.2-2_amd64.deb ... Unpacking dbus (1.16.2-2) ... Selecting previously unselected package netbase. Preparing to unpack .../009-netbase_6.5_all.deb ... Unpacking netbase (6.5) ... Selecting previously unselected package libproc2-0:amd64. Preparing to unpack .../010-libproc2-0_2%3a4.0.4-9_amd64.deb ... Unpacking libproc2-0:amd64 (2:4.0.4-9) ... Selecting previously unselected package procps. Preparing to unpack .../011-procps_2%3a4.0.4-9_amd64.deb ... Unpacking procps (2:4.0.4-9) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../012-sensible-utils_0.0.26_all.deb ... Unpacking sensible-utils (0.0.26) ... Selecting previously unselected package openssl. Preparing to unpack .../013-openssl_3.5.4-1_amd64.deb ... Unpacking openssl (3.5.4-1) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../014-ca-certificates_20250419_all.deb ... Unpacking ca-certificates (20250419) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../015-libmagic-mgc_1%3a5.46-5_amd64.deb ... Unpacking libmagic-mgc (1:5.46-5) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../016-libmagic1t64_1%3a5.46-5_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.46-5) ... Selecting previously unselected package file. Preparing to unpack .../017-file_1%3a5.46-5_amd64.deb ... Unpacking file (1:5.46-5) ... Selecting previously unselected package gettext-base. Preparing to unpack .../018-gettext-base_0.23.1-2+b1_amd64.deb ... Unpacking gettext-base (0.23.1-2+b1) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../019-libuchardet0_0.0.8-2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-2) ... Selecting previously unselected package groff-base. Preparing to unpack .../020-groff-base_1.23.0-9_amd64.deb ... Unpacking groff-base (1.23.0-9) ... Selecting previously unselected package libpam-systemd:amd64. Preparing to unpack .../021-libpam-systemd_258.1-2_amd64.deb ... Unpacking libpam-systemd:amd64 (258.1-2) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../022-bsdextrautils_2.41.2-4_amd64.deb ... Unpacking bsdextrautils (2.41.2-4) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../023-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../024-man-db_2.13.1-1_amd64.deb ... Unpacking man-db (2.13.1-1) ... Selecting previously unselected package libgdk-pixbuf2.0-common. Preparing to unpack .../025-libgdk-pixbuf2.0-common_2.44.4+dfsg-1_all.deb ... Unpacking libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... Selecting previously unselected package libffi8:amd64. Preparing to unpack .../026-libffi8_3.5.2-2_amd64.deb ... Unpacking libffi8:amd64 (3.5.2-2) ... Selecting previously unselected package libglib2.0-0t64:amd64. Preparing to unpack .../027-libglib2.0-0t64_2.86.1-2_amd64.deb ... Unpacking libglib2.0-0t64:amd64 (2.86.1-2) ... Selecting previously unselected package libxml2-16:amd64. Preparing to unpack .../028-libxml2-16_2.15.1+dfsg-0.4_amd64.deb ... Unpacking libxml2-16:amd64 (2.15.1+dfsg-0.4) ... Selecting previously unselected package shared-mime-info. Preparing to unpack .../029-shared-mime-info_2.4-5+b3_amd64.deb ... Unpacking shared-mime-info (2.4-5+b3) ... Selecting previously unselected package libjpeg62-turbo:amd64. Preparing to unpack .../030-libjpeg62-turbo_1%3a2.1.5-4_amd64.deb ... Unpacking libjpeg62-turbo:amd64 (1:2.1.5-4) ... Selecting previously unselected package libpng16-16t64:amd64. Preparing to unpack .../031-libpng16-16t64_1.6.50-1_amd64.deb ... Unpacking libpng16-16t64:amd64 (1.6.50-1) ... Selecting previously unselected package libdeflate0:amd64. Preparing to unpack .../032-libdeflate0_1.23-2_amd64.deb ... Unpacking libdeflate0:amd64 (1.23-2) ... Selecting previously unselected package libjbig0:amd64. Preparing to unpack .../033-libjbig0_2.1-6.1+b2_amd64.deb ... Unpacking libjbig0:amd64 (2.1-6.1+b2) ... Selecting previously unselected package liblerc4:amd64. Preparing to unpack .../034-liblerc4_4.0.0+ds-5_amd64.deb ... Unpacking liblerc4:amd64 (4.0.0+ds-5) ... Selecting previously unselected package libsharpyuv0:amd64. Preparing to unpack .../035-libsharpyuv0_1.5.0-0.1_amd64.deb ... Unpacking libsharpyuv0:amd64 (1.5.0-0.1) ... Selecting previously unselected package libwebp7:amd64. Preparing to unpack .../036-libwebp7_1.5.0-0.1_amd64.deb ... Unpacking libwebp7:amd64 (1.5.0-0.1) ... Selecting previously unselected package libtiff6:amd64. Preparing to unpack .../037-libtiff6_4.7.1-1_amd64.deb ... Unpacking libtiff6:amd64 (4.7.1-1) ... Selecting previously unselected package libgdk-pixbuf-2.0-0:amd64. Preparing to unpack .../038-libgdk-pixbuf-2.0-0_2.44.4+dfsg-1_amd64.deb ... Unpacking libgdk-pixbuf-2.0-0:amd64 (2.44.4+dfsg-1) ... Selecting previously unselected package gtk-update-icon-cache. Preparing to unpack .../039-gtk-update-icon-cache_4.20.2+ds-2_amd64.deb ... No diversion 'diversion of /usr/sbin/update-icon-caches to /usr/sbin/update-icon-caches.gtk2 by libgtk-3-bin', none removed. No diversion 'diversion of /usr/share/man/man8/update-icon-caches.8.gz to /usr/share/man/man8/update-icon-caches.gtk2.8.gz by libgtk-3-bin', none removed. Unpacking gtk-update-icon-cache (4.20.2+ds-2) ... Selecting previously unselected package hicolor-icon-theme. Preparing to unpack .../040-hicolor-icon-theme_0.18-2_all.deb ... Unpacking hicolor-icon-theme (0.18-2) ... Selecting previously unselected package adwaita-icon-theme. Preparing to unpack .../041-adwaita-icon-theme_49.0-1_all.deb ... Unpacking adwaita-icon-theme (49.0-1) ... Selecting previously unselected package at-spi2-common. Preparing to unpack .../042-at-spi2-common_2.58.1-1_all.deb ... Unpacking at-spi2-common (2.58.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../043-m4_1.4.20-2_amd64.deb ... Unpacking m4 (1.4.20-2) ... Selecting previously unselected package autoconf. Preparing to unpack .../044-autoconf_2.72-3.1_all.deb ... Unpacking autoconf (2.72-3.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../045-autotools-dev_20240727.1_all.deb ... Unpacking autotools-dev (20240727.1) ... Selecting previously unselected package automake. Preparing to unpack .../046-automake_1%3a1.18.1-2_all.deb ... Unpacking automake (1:1.18.1-2) ... Selecting previously unselected package autopoint. Preparing to unpack .../047-autopoint_0.23.1-2_all.deb ... Unpacking autopoint (0.23.1-2) ... Selecting previously unselected package dbus-user-session. Preparing to unpack .../048-dbus-user-session_1.16.2-2_amd64.deb ... Unpacking dbus-user-session (1.16.2-2) ... Selecting previously unselected package libdconf1:amd64. Preparing to unpack .../049-libdconf1_0.49.0-2_amd64.deb ... Unpacking libdconf1:amd64 (0.49.0-2) ... Selecting previously unselected package dconf-service. Preparing to unpack .../050-dconf-service_0.49.0-2_amd64.deb ... Unpacking dconf-service (0.49.0-2) ... Selecting previously unselected package dconf-gsettings-backend:amd64. Preparing to unpack .../051-dconf-gsettings-backend_0.49.0-2_amd64.deb ... Unpacking dconf-gsettings-backend:amd64 (0.49.0-2) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../052-libdebhelper-perl_13.28_all.deb ... Unpacking libdebhelper-perl (13.28) ... Selecting previously unselected package libtool. Preparing to unpack .../053-libtool_2.5.4-7_all.deb ... Unpacking libtool (2.5.4-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../054-dh-autoreconf_21_all.deb ... Unpacking dh-autoreconf (21) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../055-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../056-libfile-stripnondeterminism-perl_1.15.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.15.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../057-dh-strip-nondeterminism_1.15.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.15.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../058-libelf1t64_0.194-1_amd64.deb ... Unpacking libelf1t64:amd64 (0.194-1) ... Selecting previously unselected package dwz. Preparing to unpack .../059-dwz_0.16-2_amd64.deb ... Unpacking dwz (0.16-2) ... Selecting previously unselected package libunistring5:amd64. Preparing to unpack .../060-libunistring5_1.3-2_amd64.deb ... Unpacking libunistring5:amd64 (1.3-2) ... Selecting previously unselected package gettext. Preparing to unpack .../061-gettext_0.23.1-2+b1_amd64.deb ... Unpacking gettext (0.23.1-2+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../062-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 .../063-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../064-debhelper_13.28_all.deb ... Unpacking debhelper (13.28) ... Selecting previously unselected package libasound2-data. Preparing to unpack .../065-libasound2-data_1.2.14-2_all.deb ... Unpacking libasound2-data (1.2.14-2) ... Selecting previously unselected package libasound2t64:amd64. Preparing to unpack .../066-libasound2t64_1.2.14-2_amd64.deb ... Unpacking libasound2t64:amd64 (1.2.14-2) ... Selecting previously unselected package libatk1.0-0t64:amd64. Preparing to unpack .../067-libatk1.0-0t64_2.58.1-1_amd64.deb ... Unpacking libatk1.0-0t64:amd64 (2.58.1-1) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../068-libbrotli1_1.1.0-2+b7_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b7) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../069-libfreetype6_2.13.3+dfsg-1_amd64.deb ... Unpacking libfreetype6:amd64 (2.13.3+dfsg-1) ... Selecting previously unselected package fonts-dejavu-mono. Preparing to unpack .../070-fonts-dejavu-mono_2.37-8_all.deb ... Unpacking fonts-dejavu-mono (2.37-8) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../071-fonts-dejavu-core_2.37-8_all.deb ... Unpacking fonts-dejavu-core (2.37-8) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../072-fontconfig-config_2.15.0-2.4_amd64.deb ... Unpacking fontconfig-config (2.15.0-2.4) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../073-libfontconfig1_2.15.0-2.4_amd64.deb ... Unpacking libfontconfig1:amd64 (2.15.0-2.4) ... Selecting previously unselected package libpixman-1-0:amd64. Preparing to unpack .../074-libpixman-1-0_0.46.4-1_amd64.deb ... Unpacking libpixman-1-0:amd64 (0.46.4-1) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../075-libxau6_1%3a1.0.11-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.11-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../076-libxdmcp6_1%3a1.1.5-1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.5-1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../077-libxcb1_1.17.0-2+b1_amd64.deb ... Unpacking libxcb1:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../078-libx11-data_2%3a1.8.12-1_all.deb ... Unpacking libx11-data (2:1.8.12-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../079-libx11-6_2%3a1.8.12-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.8.12-1) ... Selecting previously unselected package libxcb-render0:amd64. Preparing to unpack .../080-libxcb-render0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-render0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-shm0:amd64. Preparing to unpack .../081-libxcb-shm0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-shm0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../082-libxext6_2%3a1.3.4-1+b3_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.4-1+b3) ... Selecting previously unselected package libxrender1:amd64. Preparing to unpack .../083-libxrender1_1%3a0.9.12-1_amd64.deb ... Unpacking libxrender1:amd64 (1:0.9.12-1) ... Selecting previously unselected package libcairo2:amd64. Preparing to unpack .../084-libcairo2_1.18.4-1+b1_amd64.deb ... Unpacking libcairo2:amd64 (1.18.4-1+b1) ... Selecting previously unselected package libcairo-gobject2:amd64. Preparing to unpack .../085-libcairo-gobject2_1.18.4-1+b1_amd64.deb ... Unpacking libcairo-gobject2:amd64 (1.18.4-1+b1) ... Selecting previously unselected package libevent-2.1-7t64:amd64. Preparing to unpack .../086-libevent-2.1-7t64_2.1.12-stable-10+b1_amd64.deb ... Unpacking libevent-2.1-7t64:amd64 (2.1.12-stable-10+b1) ... Selecting previously unselected package libxi6:amd64. Preparing to unpack .../087-libxi6_2%3a1.8.2-1_amd64.deb ... Unpacking libxi6:amd64 (2:1.8.2-1) ... Selecting previously unselected package libatspi2.0-0t64:amd64. Preparing to unpack .../088-libatspi2.0-0t64_2.58.1-1_amd64.deb ... Unpacking libatspi2.0-0t64:amd64 (2.58.1-1) ... Selecting previously unselected package libatk-bridge2.0-0t64:amd64. Preparing to unpack .../089-libatk-bridge2.0-0t64_2.58.1-1_amd64.deb ... Unpacking libatk-bridge2.0-0t64:amd64 (2.58.1-1) ... Selecting previously unselected package libcloudproviders0:amd64. Preparing to unpack .../090-libcloudproviders0_0.3.6-3_amd64.deb ... Unpacking libcloudproviders0:amd64 (0.3.6-3) ... Selecting previously unselected package liblcms2-2:amd64. Preparing to unpack .../091-liblcms2-2_2.16-2_amd64.deb ... Unpacking liblcms2-2:amd64 (2.16-2) ... Selecting previously unselected package libcolord2:amd64. Preparing to unpack .../092-libcolord2_1.4.8-2_amd64.deb ... Unpacking libcolord2:amd64 (1.4.8-2) ... Selecting previously unselected package libavahi-common-data:amd64. Preparing to unpack .../093-libavahi-common-data_0.8-17_amd64.deb ... Unpacking libavahi-common-data:amd64 (0.8-17) ... Selecting previously unselected package libavahi-common3:amd64. Preparing to unpack .../094-libavahi-common3_0.8-17_amd64.deb ... Unpacking libavahi-common3:amd64 (0.8-17) ... Selecting previously unselected package libavahi-client3:amd64. Preparing to unpack .../095-libavahi-client3_0.8-17_amd64.deb ... Unpacking libavahi-client3:amd64 (0.8-17) ... Selecting previously unselected package libidn2-0:amd64. Preparing to unpack .../096-libidn2-0_2.3.8-4_amd64.deb ... Unpacking libidn2-0:amd64 (2.3.8-4) ... Selecting previously unselected package libp11-kit0:amd64. Preparing to unpack .../097-libp11-kit0_0.25.9-2_amd64.deb ... Unpacking libp11-kit0:amd64 (0.25.9-2) ... Selecting previously unselected package libtasn1-6:amd64. Preparing to unpack .../098-libtasn1-6_4.20.0-2_amd64.deb ... Unpacking libtasn1-6:amd64 (4.20.0-2) ... Selecting previously unselected package libgnutls30t64:amd64. Preparing to unpack .../099-libgnutls30t64_3.8.10-3_amd64.deb ... Unpacking libgnutls30t64:amd64 (3.8.10-3) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../100-libkrb5support0_1.22.1-2_amd64.deb ... Unpacking libkrb5support0:amd64 (1.22.1-2) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../101-libcom-err2_1.47.2-3+b3_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.2-3+b3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../102-libk5crypto3_1.22.1-2_amd64.deb ... Unpacking libk5crypto3:amd64 (1.22.1-2) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../103-libkeyutils1_1.6.3-6_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-6) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../104-libkrb5-3_1.22.1-2_amd64.deb ... Unpacking libkrb5-3:amd64 (1.22.1-2) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../105-libgssapi-krb5-2_1.22.1-2_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.22.1-2) ... Selecting previously unselected package libcups2t64:amd64. Preparing to unpack .../106-libcups2t64_2.4.14-1_amd64.deb ... Unpacking libcups2t64:amd64 (2.4.14-1) ... Selecting previously unselected package libepoxy0:amd64. Preparing to unpack .../107-libepoxy0_1.5.10-2_amd64.deb ... Unpacking libepoxy0:amd64 (1.5.10-2) ... Selecting previously unselected package libfribidi0:amd64. Preparing to unpack .../108-libfribidi0_1.0.16-3_amd64.deb ... Unpacking libfribidi0:amd64 (1.0.16-3) ... Selecting previously unselected package libgraphite2-3:amd64. Preparing to unpack .../109-libgraphite2-3_1.3.14-11_amd64.deb ... Unpacking libgraphite2-3:amd64 (1.3.14-11) ... Selecting previously unselected package libharfbuzz0b:amd64. Preparing to unpack .../110-libharfbuzz0b_12.1.0-1_amd64.deb ... Unpacking libharfbuzz0b:amd64 (12.1.0-1) ... Selecting previously unselected package fontconfig. Preparing to unpack .../111-fontconfig_2.15.0-2.4_amd64.deb ... Unpacking fontconfig (2.15.0-2.4) ... Selecting previously unselected package libthai-data. Preparing to unpack .../112-libthai-data_0.1.29-2_all.deb ... Unpacking libthai-data (0.1.29-2) ... Selecting previously unselected package libdatrie1:amd64. Preparing to unpack .../113-libdatrie1_0.2.13-4_amd64.deb ... Unpacking libdatrie1:amd64 (0.2.13-4) ... Selecting previously unselected package libthai0:amd64. Preparing to unpack .../114-libthai0_0.1.29-2+b1_amd64.deb ... Unpacking libthai0:amd64 (0.1.29-2+b1) ... Selecting previously unselected package libpango-1.0-0:amd64. Preparing to unpack .../115-libpango-1.0-0_1.56.3-2_amd64.deb ... Unpacking libpango-1.0-0:amd64 (1.56.3-2) ... Selecting previously unselected package libpangoft2-1.0-0:amd64. Preparing to unpack .../116-libpangoft2-1.0-0_1.56.3-2_amd64.deb ... Unpacking libpangoft2-1.0-0:amd64 (1.56.3-2) ... Selecting previously unselected package libpangocairo-1.0-0:amd64. Preparing to unpack .../117-libpangocairo-1.0-0_1.56.3-2_amd64.deb ... Unpacking libpangocairo-1.0-0:amd64 (1.56.3-2) ... Selecting previously unselected package libwayland-client0:amd64. Preparing to unpack .../118-libwayland-client0_1.24.0-2+b1_amd64.deb ... Unpacking libwayland-client0:amd64 (1.24.0-2+b1) ... Selecting previously unselected package libwayland-cursor0:amd64. Preparing to unpack .../119-libwayland-cursor0_1.24.0-2+b1_amd64.deb ... Unpacking libwayland-cursor0:amd64 (1.24.0-2+b1) ... Selecting previously unselected package libwayland-egl1:amd64. Preparing to unpack .../120-libwayland-egl1_1.24.0-2+b1_amd64.deb ... Unpacking libwayland-egl1:amd64 (1.24.0-2+b1) ... Selecting previously unselected package libxcomposite1:amd64. Preparing to unpack .../121-libxcomposite1_1%3a0.4.6-1_amd64.deb ... Unpacking libxcomposite1:amd64 (1:0.4.6-1) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../122-libxfixes3_1%3a6.0.0-2+b4_amd64.deb ... Unpacking libxfixes3:amd64 (1:6.0.0-2+b4) ... Selecting previously unselected package libxcursor1:amd64. Preparing to unpack .../123-libxcursor1_1%3a1.2.3-1_amd64.deb ... Unpacking libxcursor1:amd64 (1:1.2.3-1) ... Selecting previously unselected package libxdamage1:amd64. Preparing to unpack .../124-libxdamage1_1%3a1.1.6-1+b2_amd64.deb ... Unpacking libxdamage1:amd64 (1:1.1.6-1+b2) ... Selecting previously unselected package libxinerama1:amd64. Preparing to unpack .../125-libxinerama1_2%3a1.1.4-3+b4_amd64.deb ... Unpacking libxinerama1:amd64 (2:1.1.4-3+b4) ... Selecting previously unselected package xkb-data. Preparing to unpack .../126-xkb-data_2.42-1_all.deb ... Unpacking xkb-data (2.42-1) ... Selecting previously unselected package libxkbcommon0:amd64. Preparing to unpack .../127-libxkbcommon0_1.12.3-1_amd64.deb ... Unpacking libxkbcommon0:amd64 (1.12.3-1) ... Selecting previously unselected package libxrandr2:amd64. Preparing to unpack .../128-libxrandr2_2%3a1.5.4-1+b3_amd64.deb ... Unpacking libxrandr2:amd64 (2:1.5.4-1+b3) ... Selecting previously unselected package libgtk-3-common. Preparing to unpack .../129-libgtk-3-common_3.24.51-1_all.deb ... Unpacking libgtk-3-common (3.24.51-1) ... Selecting previously unselected package libgtk-3-0t64:amd64. Preparing to unpack .../130-libgtk-3-0t64_3.24.51-1_amd64.deb ... Unpacking libgtk-3-0t64:amd64 (3.24.51-1) ... Selecting previously unselected package libnspr4:amd64. Preparing to unpack .../131-libnspr4_2%3a4.38.2-1_amd64.deb ... Unpacking libnspr4:amd64 (2:4.38.2-1) ... Selecting previously unselected package libnss3:amd64. Preparing to unpack .../132-libnss3_2%3a3.117-1_amd64.deb ... Unpacking libnss3:amd64 (2:3.117-1) ... Selecting previously unselected package libvpx11:amd64. Preparing to unpack .../133-libvpx11_1.15.2-2_amd64.deb ... Unpacking libvpx11:amd64 (1.15.2-2) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../134-libx11-xcb1_2%3a1.8.12-1_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.8.12-1) ... Selecting previously unselected package firefox-esr. Preparing to unpack .../135-firefox-esr_140.5.0esr-1_amd64.deb ... Adding 'diversion of /usr/bin/firefox to /usr/bin/firefox.real by firefox-esr' Unpacking firefox-esr (140.5.0esr-1) ... Selecting previously unselected package libclone-perl:amd64. Preparing to unpack .../136-libclone-perl_0.47-1+b1_amd64.deb ... Unpacking libclone-perl:amd64 (0.47-1+b1) ... Selecting previously unselected package libperlio-utf8-strict-perl. Preparing to unpack .../137-libperlio-utf8-strict-perl_0.010-1+b3_amd64.deb ... Unpacking libperlio-utf8-strict-perl (0.010-1+b3) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../138-libparams-util-perl_1.102-3+b1_amd64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../139-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../140-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../141-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libmixin-linewise-perl. Preparing to unpack .../142-libmixin-linewise-perl_0.111-1_all.deb ... Unpacking libmixin-linewise-perl (0.111-1) ... Selecting previously unselected package libconfig-ini-perl. Preparing to unpack .../143-libconfig-ini-perl_1%3a0.029-1_all.deb ... Unpacking libconfig-ini-perl (1:0.029-1) ... Selecting previously unselected package libcrypt-passwdmd5-perl. Preparing to unpack .../144-libcrypt-passwdmd5-perl_1.42-2_all.deb ... Unpacking libcrypt-passwdmd5-perl (1.42-2) ... Selecting previously unselected package libcrypt-urandom-perl. Preparing to unpack .../145-libcrypt-urandom-perl_0.54-1_amd64.deb ... Unpacking libcrypt-urandom-perl (0.54-1) ... Selecting previously unselected package libdrm-common. Preparing to unpack .../146-libdrm-common_2.4.127-1_all.deb ... Unpacking libdrm-common (2.4.127-1) ... Selecting previously unselected package libdrm2:amd64. Preparing to unpack .../147-libdrm2_2.4.127-1_amd64.deb ... Unpacking libdrm2:amd64 (2.4.127-1) ... Selecting previously unselected package libdrm-amdgpu1:amd64. Preparing to unpack .../148-libdrm-amdgpu1_2.4.127-1_amd64.deb ... Unpacking libdrm-amdgpu1:amd64 (2.4.127-1) ... Selecting previously unselected package libpciaccess0:amd64. Preparing to unpack .../149-libpciaccess0_0.17-3+b3_amd64.deb ... Unpacking libpciaccess0:amd64 (0.17-3+b3) ... Selecting previously unselected package libdrm-intel1:amd64. Preparing to unpack .../150-libdrm-intel1_2.4.127-1_amd64.deb ... Unpacking libdrm-intel1:amd64 (2.4.127-1) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../151-libedit2_3.1-20250104-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20250104-1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../152-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../153-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../154-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../155-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../156-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../157-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libio-string-perl. Preparing to unpack .../158-libio-string-perl_1.08-4_all.deb ... Unpacking libio-string-perl (1.08-4) ... Selecting previously unselected package libfont-ttf-perl. Preparing to unpack .../159-libfont-ttf-perl_1.06-2_all.deb ... Unpacking libfont-ttf-perl (1.06-2) ... Selecting previously unselected package libfontenc1:amd64. Preparing to unpack .../160-libfontenc1_1%3a1.1.8-1+b2_amd64.deb ... Unpacking libfontenc1:amd64 (1:1.1.8-1+b2) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../161-libz3-4_4.13.3-1_amd64.deb ... Unpacking libz3-4:amd64 (4.13.3-1) ... Selecting previously unselected package libllvm19:amd64. Preparing to unpack .../162-libllvm19_1%3a19.1.7-10.1_amd64.deb ... Unpacking libllvm19:amd64 (1:19.1.7-10.1) ... Selecting previously unselected package libsensors-config. Preparing to unpack .../163-libsensors-config_1%3a3.6.2-2_all.deb ... Unpacking libsensors-config (1:3.6.2-2) ... Selecting previously unselected package libsensors5:amd64. Preparing to unpack .../164-libsensors5_1%3a3.6.2-2_amd64.deb ... Unpacking libsensors5:amd64 (1:3.6.2-2) ... Selecting previously unselected package libxcb-dri3-0:amd64. Preparing to unpack .../165-libxcb-dri3-0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-dri3-0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-present0:amd64. Preparing to unpack .../166-libxcb-present0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-present0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-randr0:amd64. Preparing to unpack .../167-libxcb-randr0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-randr0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-sync1:amd64. Preparing to unpack .../168-libxcb-sync1_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-sync1:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxcb-xfixes0:amd64. Preparing to unpack .../169-libxcb-xfixes0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-xfixes0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxshmfence1:amd64. Preparing to unpack .../170-libxshmfence1_1.3.3-1_amd64.deb ... Unpacking libxshmfence1:amd64 (1.3.3-1) ... Selecting previously unselected package mesa-libgallium:amd64. Preparing to unpack .../171-mesa-libgallium_25.2.6-1_amd64.deb ... Unpacking mesa-libgallium:amd64 (25.2.6-1) ... Selecting previously unselected package libgbm1:amd64. Preparing to unpack .../172-libgbm1_25.2.6-1_amd64.deb ... Unpacking libgbm1:amd64 (25.2.6-1) ... Selecting previously unselected package libglvnd0:amd64. Preparing to unpack .../173-libglvnd0_1.7.0-1+b2_amd64.deb ... Unpacking libglvnd0:amd64 (1.7.0-1+b2) ... Selecting previously unselected package libxcb-glx0:amd64. Preparing to unpack .../174-libxcb-glx0_1.17.0-2+b1_amd64.deb ... Unpacking libxcb-glx0:amd64 (1.17.0-2+b1) ... Selecting previously unselected package libxxf86vm1:amd64. Preparing to unpack .../175-libxxf86vm1_1%3a1.1.4-2_amd64.deb ... Unpacking libxxf86vm1:amd64 (1:1.1.4-2) ... Selecting previously unselected package libvulkan1:amd64. Preparing to unpack .../176-libvulkan1_1.4.328.1-1_amd64.deb ... Unpacking libvulkan1:amd64 (1.4.328.1-1) ... Selecting previously unselected package libgl1-mesa-dri:amd64. Preparing to unpack .../177-libgl1-mesa-dri_25.2.6-1_amd64.deb ... Unpacking libgl1-mesa-dri:amd64 (25.2.6-1) ... Selecting previously unselected package libglx-mesa0:amd64. Preparing to unpack .../178-libglx-mesa0_25.2.6-1_amd64.deb ... Unpacking libglx-mesa0:amd64 (25.2.6-1) ... Selecting previously unselected package libglx0:amd64. Preparing to unpack .../179-libglx0_1.7.0-1+b2_amd64.deb ... Unpacking libglx0:amd64 (1.7.0-1+b2) ... Selecting previously unselected package libgl1:amd64. Preparing to unpack .../180-libgl1_1.7.0-1+b2_amd64.deb ... Unpacking libgl1:amd64 (1.7.0-1+b2) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../181-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../182-liburi-perl_5.34-2_all.deb ... Unpacking liburi-perl (5.34-2) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../183-libhtml-parser-perl_3.83-1+b2_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.83-1+b2) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../184-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../185-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../186-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../187-libhttp-message-perl_7.01-1_all.deb ... Unpacking libhttp-message-perl (7.01-1) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../188-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-daemon-perl. Preparing to unpack .../189-libhttp-daemon-perl_6.16-1_all.deb ... Unpacking libhttp-daemon-perl (6.16-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../190-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package x11-common. Preparing to unpack .../191-x11-common_1%3a7.7+26_all.deb ... Unpacking x11-common (1:7.7+26) ... Selecting previously unselected package libice6:amd64. Preparing to unpack .../192-libice6_2%3a1.1.1-1_amd64.deb ... Unpacking libice6:amd64 (2:1.1.1-1) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../193-perl-openssl-defaults_7+b2_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../194-libnet-ssleay-perl_1.94-3_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.94-3) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../195-libio-socket-ssl-perl_2.095-1_all.deb ... Unpacking libio-socket-ssl-perl (2.095-1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../196-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../197-libnet-http-perl_6.24-1_all.deb ... Unpacking libnet-http-perl (6.24-1) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../198-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../199-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../200-libwww-perl_6.81-1_all.deb ... Unpacking libwww-perl (6.81-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../201-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libpdf-api2-perl. Preparing to unpack .../202-libpdf-api2-perl_2.048-1_all.deb ... Unpacking libpdf-api2-perl (2.048-1) ... Selecting previously unselected package libsm6:amd64. Preparing to unpack .../203-libsm6_2%3a1.2.6-1_amd64.deb ... Unpacking libsm6:amd64 (2:1.2.6-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../204-libterm-readkey-perl_2.38-2+b4_amd64.deb ... Unpacking libterm-readkey-perl (2.38-2+b4) ... Selecting previously unselected package libtext-csv-xs-perl:amd64. Preparing to unpack .../205-libtext-csv-xs-perl_1.61-1_amd64.deb ... Unpacking libtext-csv-xs-perl:amd64 (1.61-1) ... Selecting previously unselected package libunwind8:amd64. Preparing to unpack .../206-libunwind8_1.8.1-0.1_amd64.deb ... Unpacking libunwind8:amd64 (1.8.1-0.1) ... Selecting previously unselected package libxt6t64:amd64. Preparing to unpack .../207-libxt6t64_1%3a1.2.1-1.3_amd64.deb ... Unpacking libxt6t64:amd64 (1:1.2.1-1.3) ... Selecting previously unselected package libxmu6:amd64. Preparing to unpack .../208-libxmu6_2%3a1.1.3-3+b4_amd64.deb ... Unpacking libxmu6:amd64 (2:1.1.3-3+b4) ... Selecting previously unselected package libxpm4:amd64. Preparing to unpack .../209-libxpm4_1%3a3.5.17-1+b3_amd64.deb ... Unpacking libxpm4:amd64 (1:3.5.17-1+b3) ... Selecting previously unselected package libxaw7:amd64. Preparing to unpack .../210-libxaw7_2%3a1.0.16-1_amd64.deb ... Unpacking libxaw7:amd64 (2:1.0.16-1) ... Selecting previously unselected package libxfont2:amd64. Preparing to unpack .../211-libxfont2_1%3a2.0.6-1+b3_amd64.deb ... Unpacking libxfont2:amd64 (1:2.0.6-1+b3) ... Selecting previously unselected package libxkbfile1:amd64. Preparing to unpack .../212-libxkbfile1_1%3a1.1.0-1+b4_amd64.deb ... Unpacking libxkbfile1:amd64 (1:1.1.0-1+b4) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../213-libxml-parser-perl_2.47-1+b3_amd64.deb ... Unpacking libxml-parser-perl (2.47-1+b3) ... Selecting previously unselected package libxmuu1:amd64. Preparing to unpack .../214-libxmuu1_2%3a1.1.3-3+b4_amd64.deb ... Unpacking libxmuu1:amd64 (2:1.1.3-3+b4) ... Selecting previously unselected package x11-xkb-utils. Preparing to unpack .../215-x11-xkb-utils_7.7+9_amd64.deb ... Unpacking x11-xkb-utils (7.7+9) ... Selecting previously unselected package xauth. Preparing to unpack .../216-xauth_1%3a1.1.2-1.1_amd64.deb ... Unpacking xauth (1:1.1.2-1.1) ... Selecting previously unselected package xserver-common. Preparing to unpack .../217-xserver-common_2%3a21.1.20-1_all.deb ... Unpacking xserver-common (2:21.1.20-1) ... Selecting previously unselected package xvfb. Preparing to unpack .../218-xvfb_2%3a21.1.20-1_amd64.deb ... Unpacking xvfb (2:21.1.20-1) ... Setting up libexpat1:amd64 (2.7.3-1) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libgraphite2-3:amd64 (1.3.14-11) ... Setting up liblcms2-2:amd64 (2.16-2) ... Setting up libpixman-1-0:amd64 (0.46.4-1) ... Setting up libsharpyuv0:amd64 (1.5.0-0.1) ... Setting up libpciaccess0:amd64 (0.17-3+b3) ... Setting up libfile-which-perl (1.27-2) ... Setting up systemd-sysv (258.1-2) ... Setting up libxau6:amd64 (1:1.0.11-1) ... Setting up libxdmcp6:amd64 (1:1.1.5-1) ... Setting up libkeyutils1:amd64 (1.6.3-6) ... Setting up libapparmor1:amd64 (4.1.0-1) ... Setting up libxcb1:amd64 (1.17.0-2+b1) ... Setting up libxcb-xfixes0:amd64 (1.17.0-2+b1) ... Setting up liblerc4:amd64 (4.0.0+ds-5) ... Setting up bsdextrautils (2.41.2-4) ... Setting up hicolor-icon-theme (0.18-2) ... Setting up libdatrie1:amd64 (0.2.13-4) ... Setting up libmagic-mgc (1:5.46-5) ... Setting up libxcb-render0:amd64 (1.17.0-2+b1) ... Setting up libclone-perl:amd64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libglvnd0:amd64 (1.7.0-1+b2) ... Setting up libxml2-16:amd64 (2.15.1+dfsg-0.4) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up libxcb-glx0:amd64 (1.17.0-2+b1) ... Setting up libdebhelper-perl (13.28) ... Setting up libbrotli1:amd64 (1.1.0-2+b7) ... Setting up libedit2:amd64 (3.1-20250104-1) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libgdk-pixbuf2.0-common (2.44.4+dfsg-1) ... Setting up libmagic1t64:amd64 (1:5.46-5) ... Setting up libcrypt-urandom-perl (0.54-1) ... Setting up libvpx11:amd64 (1.15.2-2) ... Setting up x11-common (1:7.7+26) ... invoke-rc.d: could not determine current runlevel Setting up X socket directories... /tmp/.X11-unix /tmp/.ICE-unix. Setting up libtry-tiny-perl (0.32-1) ... Setting up libsensors-config (1:3.6.2-2) ... Setting up libdeflate0:amd64 (1.23-2) ... Setting up perl-openssl-defaults:amd64 (7+b2) ... Setting up gettext-base (0.23.1-2+b1) ... Setting up m4 (1.4.20-2) ... Setting up libevent-2.1-7t64:amd64 (2.1.12-stable-10+b1) ... Setting up xkb-data (2.42-1) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libtext-csv-xs-perl:amd64 (1.61-1) ... Setting up libxcb-shm0:amd64 (1.17.0-2+b1) ... Setting up libcom-err2:amd64 (1.47.2-3+b3) ... Setting up file (1:5.46-5) ... Setting up libunwind8:amd64 (1.8.1-0.1) ... Setting up libcrypt-passwdmd5-perl (1.42-2) ... Setting up libjbig0:amd64 (2.1-6.1+b2) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:amd64 (0.194-1) ... Setting up libkrb5support0:amd64 (1.22.1-2) ... Setting up libxcb-present0:amd64 (1.17.0-2+b1) ... Setting up libasound2-data (1.2.14-2) ... Setting up libio-string-perl (1.08-4) ... Setting up libfontenc1:amd64 (1:1.1.8-1+b2) ... Setting up autotools-dev (20240727.1) ... Setting up libz3-4:amd64 (4.13.3-1) ... Setting up libasound2t64:amd64 (1.2.14-2) ... Setting up libjpeg62-turbo:amd64 (1:2.1.5-4) ... Setting up libx11-data (2:1.8.12-1) ... Setting up libepoxy0:amd64 (1.5.10-2) ... Setting up libnspr4:amd64 (2:4.38.2-1) ... Setting up libxcb-sync1:amd64 (1.17.0-2+b1) ... Setting up libperlio-utf8-strict-perl (0.010-1+b3) ... Setting up libavahi-common-data:amd64 (0.8-17) ... Setting up libdbus-1-3:amd64 (1.16.2-2) ... Setting up libfribidi0:amd64 (1.0.16-3) ... Setting up libproc2-0:amd64 (2:4.0.4-9) ... Setting up libunistring5:amd64 (1.3-2) ... Setting up fonts-dejavu-mono (2.37-8) ... Setting up libpng16-16t64:amd64 (1.6.50-1) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.23.1-2) ... Setting up fonts-dejavu-core (2.37-8) ... Setting up libsensors5:amd64 (1:3.6.2-2) ... Setting up libk5crypto3:amd64 (1.22.1-2) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libvulkan1:amd64 (1.4.328.1-1) ... Setting up autoconf (2.72-3.1) ... Setting up libwebp7:amd64 (1.5.0-0.1) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libffi8:amd64 (3.5.2-2) ... Setting up dwz (0.16-2) ... Setting up sensible-utils (0.0.26) ... Setting up libxshmfence1:amd64 (1.3.3-1) ... Setting up at-spi2-common (2.58.1-1) ... Setting up libtiff6:amd64 (4.7.1-1) ... Setting up libxcb-randr0:amd64 (1.17.0-2+b1) ... Setting up dbus-session-bus-common (1.16.2-2) ... Setting up libuchardet0:amd64 (0.0.8-2) ... Setting up procps (2:4.0.4-9) ... Setting up libjson-perl (4.10000-1) ... Setting up libtasn1-6:amd64 (4.20.0-2) ... Setting up libx11-6:amd64 (2:1.8.12-1) ... Setting up libthai-data (0.1.29-2) ... Setting up netbase (6.5) ... Setting up libkrb5-3:amd64 (1.22.1-2) ... Setting up libwayland-egl1:amd64 (1.24.0-2+b1) ... Setting up libxkbfile1:amd64 (1:1.1.0-1+b4) ... Setting up libterm-readkey-perl (2.38-2+b4) ... Setting up dbus-system-bus-common (1.16.2-2) ... Creating group 'messagebus' with GID 997. Creating user 'messagebus' (System Message Bus) with UID 997 and GID 997. Setting up libfont-ttf-perl (1.06-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up openssl (3.5.4-1) ... Setting up libdrm-common (2.4.127-1) ... Setting up libxcomposite1:amd64 (1:0.4.6-1) ... Setting up liburi-perl (5.34-2) ... Setting up libxmuu1:amd64 (2:1.1.3-3+b4) ... Setting up dbus-bin (1.16.2-2) ... Setting up libxkbcommon0:amd64 (1.12.3-1) ... Setting up libwayland-client0:amd64 (1.24.0-2+b1) ... Setting up libnet-ssleay-perl:amd64 (1.94-3) ... Setting up automake (1:1.18.1-2) ... update-alternatives: using /usr/bin/automake-1.18 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.15.0-1) ... Setting up libxcb-dri3-0:amd64 (1.17.0-2+b1) ... Setting up libllvm19:amd64 (1:19.1.7-10.1) ... Setting up libx11-xcb1:amd64 (2:1.8.12-1) ... Setting up libice6:amd64 (2:1.1.1-1) ... Setting up libhttp-date-perl (6.06-1) ... Setting up gettext (0.23.1-2+b1) ... Setting up libxdamage1:amd64 (1:1.1.6-1+b2) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libxpm4:amd64 (1:3.5.17-1+b3) ... Setting up libxrender1:amd64 (1:0.9.12-1) ... Setting up libtool (2.5.4-7) ... Setting up fontconfig-config (2.15.0-2.4) ... Setting up libavahi-common3:amd64 (0.8-17) ... Setting up libxext6:amd64 (2:1.3.4-1+b3) ... Setting up libnet-http-perl (6.24-1) ... Setting up libidn2-0:amd64 (2.3.8-4) ... Setting up libnss3:amd64 (2:3.117-1) ... Setting up dbus-daemon (1.16.2-2) ... Setting up libxxf86vm1:amd64 (1:1.1.4-2) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up libpdf-api2-perl (2.048-1) ... Setting up dh-autoreconf (21) ... Setting up libthai0:amd64 (0.1.29-2+b1) ... Setting up ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 150 added, 0 removed; done. Setting up libglib2.0-0t64:amd64 (2.86.1-2) ... Setting up libfreetype6:amd64 (2.13.3+dfsg-1) ... Setting up libxfixes3:amd64 (1:6.0.0-2+b4) ... Setting up dbus (1.16.2-2) ... invoke-rc.d: could not determine current runlevel invoke-rc.d: policy-rc.d denied execution of start. Setting up shared-mime-info (2.4-5+b3) ... Setting up libp11-kit0:amd64 (0.25.9-2) ... Setting up libxinerama1:amd64 (2:1.1.4-3+b4) ... Setting up libgssapi-krb5-2:amd64 (1.22.1-2) ... Setting up libxrandr2:amd64 (2:1.5.4-1+b3) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up dh-strip-nondeterminism (1.15.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up libdrm2:amd64 (2.4.127-1) ... Setting up xauth (1:1.1.2-1.1) ... Setting up groff-base (1.23.0-9) ... Setting up libwayland-cursor0:amd64 (1.24.0-2+b1) ... Setting up libhtml-parser-perl:amd64 (3.83-1+b2) ... Setting up libpam-systemd:amd64 (258.1-2) ... Setting up libharfbuzz0b:amd64 (12.1.0-1) ... Setting up libgdk-pixbuf-2.0-0:amd64 (2.44.4+dfsg-1) ... Setting up libfontconfig1:amd64 (2.15.0-2.4) ... Setting up libsm6:amd64 (2:1.2.6-1) ... Setting up libxfont2:amd64 (1:2.0.6-1+b3) ... Setting up libavahi-client3:amd64 (0.8-17) ... Setting up libio-socket-ssl-perl (2.095-1) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libhttp-message-perl (7.01-1) ... Setting up libdrm-amdgpu1:amd64 (2.4.127-1) ... Setting up libgnutls30t64:amd64 (3.8.10-3) ... Setting up gtk-update-icon-cache (4.20.2+ds-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up fontconfig (2.15.0-2.4) ... Regenerating fonts cache... done. Setting up libatk1.0-0t64:amd64 (2.58.1-1) ... Setting up libxi6:amd64 (2:1.8.2-1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libxcursor1:amd64 (1:1.2.3-1) ... Setting up libpango-1.0-0:amd64 (1.56.3-2) ... Setting up libdrm-intel1:amd64 (2.4.127-1) ... Setting up libcloudproviders0:amd64 (0.3.6-3) ... Setting up man-db (2.13.1-1) ... Not building database; man-db/auto-update is not 'true'. Created symlink '/etc/systemd/system/timers.target.wants/man-db.timer' -> '/usr/lib/systemd/system/man-db.timer'. Setting up libmixin-linewise-perl (0.111-1) ... Setting up libcairo2:amd64 (1.18.4-1+b1) ... Setting up libconfig-ini-perl (1:0.029-1) ... Setting up libcolord2:amd64 (1.4.8-2) ... Setting up libdconf1:amd64 (0.49.0-2) ... Setting up dbus-user-session (1.16.2-2) ... Setting up adwaita-icon-theme (49.0-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 libatspi2.0-0t64:amd64 (2.58.1-1) ... Setting up libxt6t64:amd64 (1:1.2.1-1.3) ... Setting up libhttp-daemon-perl (6.16-1) ... Setting up libcairo-gobject2:amd64 (1.18.4-1+b1) ... Setting up libpangoft2-1.0-0:amd64 (1.56.3-2) ... Setting up libcups2t64:amd64 (2.4.14-1) ... Setting up libpangocairo-1.0-0:amd64 (1.56.3-2) ... Setting up libatk-bridge2.0-0t64:amd64 (2.58.1-1) ... Setting up mesa-libgallium:amd64 (25.2.6-1) ... Setting up libxmu6:amd64 (2:1.1.3-3+b4) ... Setting up libgbm1:amd64 (25.2.6-1) ... Setting up libgl1-mesa-dri:amd64 (25.2.6-1) ... Setting up debhelper (13.28) ... Setting up dconf-service (0.49.0-2) ... Setting up libxaw7:amd64 (2:1.0.16-1) ... Setting up libglx-mesa0:amd64 (25.2.6-1) ... Setting up libglx0:amd64 (1.7.0-1+b2) ... Setting up dconf-gsettings-backend:amd64 (0.49.0-2) ... Setting up x11-xkb-utils (7.7+9) ... Setting up libgl1:amd64 (1.7.0-1+b2) ... Setting up xserver-common (2:21.1.20-1) ... Setting up libgtk-3-common (3.24.51-1) ... Setting up xvfb (2:21.1.20-1) ... Setting up libgtk-3-0t64:amd64 (3.24.51-1) ... Setting up firefox-esr (140.5.0esr-1) ... update-alternatives: using /usr/bin/firefox-esr to provide /usr/bin/x-www-browser (x-www-browser) in auto mode update-alternatives: using /usr/bin/firefox-esr to provide /usr/bin/gnome-www-browser (gnome-www-browser) in auto mode Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libwww-perl (6.81-1) ... Setting up libxml-parser-perl (2.47-1+b3) ... Processing triggers for libc-bin (2.41-12) ... Processing triggers for ca-certificates (20250419) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps Reading package lists... Building dependency tree... Reading state information... fakeroot is already the newest version (1.37.1.2-1). Solving dependencies... 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package I: Running cd /build/reproducible-path/libfirefox-marionette-perl-1.68/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../libfirefox-marionette-perl_1.68-1_source.changes dpkg-buildpackage: info: source package libfirefox-marionette-perl dpkg-buildpackage: info: source version 1.68-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libfirefox-marionette-perl-1.68=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" LD="x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libfirefox-marionette-perl-1.68=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Mozilla Firefox 140.5.0esr grep -r Mem /proc/meminfo MemTotal: 82331424 kB MemFree: 11902516 kB MemAvailable: 75041048 kB ulimit -a | grep -i mem memory(kbytes) unlimited locked memory(kbytes) 8192 vmemory(kbytes) unlimited Warning: prerequisite Test::CheckManifest 0.9 not found. Warning: prerequisite Test::Pod 1.41 not found. Warning: prerequisite Test::Pod::Coverage 1.04 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Firefox::Marionette Writing MYMETA.yml and MYMETA.json dh_auto_build make -j40 make[1]: Entering directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' cp lib/Firefox/Marionette/Element.pm blib/lib/Firefox/Marionette/Element.pm cp lib/Firefox/Marionette/Response.pm blib/lib/Firefox/Marionette/Response.pm cp lib/Firefox/Marionette/Cache.pm blib/lib/Firefox/Marionette/Cache.pm cp lib/Firefox/Marionette/GeoLocation.pm blib/lib/Firefox/Marionette/GeoLocation.pm cp lib/Firefox/Marionette/DNS.pm blib/lib/Firefox/Marionette/DNS.pm cp lib/Firefox/Marionette/Exception/StaleElement.pm blib/lib/Firefox/Marionette/Exception/StaleElement.pm cp lib/Firefox/Marionette/ShadowRoot.pm blib/lib/Firefox/Marionette/ShadowRoot.pm cp lib/Firefox/Marionette/Extension/HarExportTrigger.pm blib/lib/Firefox/Marionette/Extension/HarExportTrigger.pm cp lib/Firefox/Marionette/Exception/NoSuchAlert.pm blib/lib/Firefox/Marionette/Exception/NoSuchAlert.pm cp lib/Firefox/Marionette/Timeouts.pm blib/lib/Firefox/Marionette/Timeouts.pm cp lib/Firefox/Marionette/Display.pm blib/lib/Firefox/Marionette/Display.pm cp lib/Firefox/Marionette/Exception/NotFound.pm blib/lib/Firefox/Marionette/Exception/NotFound.pm cp lib/Firefox/Marionette/Exception.pm blib/lib/Firefox/Marionette/Exception.pm cp lib/Firefox/Marionette/Image.pm blib/lib/Firefox/Marionette/Image.pm cp lib/Firefox/Marionette/Link.pm blib/lib/Firefox/Marionette/Link.pm cp lib/Firefox/Marionette/Cookie.pm blib/lib/Firefox/Marionette/Cookie.pm cp lib/Firefox/Marionette.pm blib/lib/Firefox/Marionette.pm cp lib/Firefox/Marionette/Login.pm blib/lib/Firefox/Marionette/Login.pm cp lib/Firefox/Marionette/Buttons.pm blib/lib/Firefox/Marionette/Buttons.pm cp lib/Firefox/Marionette/Exception/Response.pm blib/lib/Firefox/Marionette/Exception/Response.pm cp lib/Firefox/Marionette/Element/Rect.pm blib/lib/Firefox/Marionette/Element/Rect.pm cp lib/Firefox/Marionette/Extension/Timezone.pm blib/lib/Firefox/Marionette/Extension/Timezone.pm cp lib/Firefox/Marionette/Keys.pm blib/lib/Firefox/Marionette/Keys.pm cp lib/Firefox/Marionette/Certificate.pm blib/lib/Firefox/Marionette/Certificate.pm cp lib/Firefox/Marionette/Extension/Stealth.pm blib/lib/Firefox/Marionette/Extension/Stealth.pm cp lib/Firefox/Marionette/LocalObject.pm blib/lib/Firefox/Marionette/LocalObject.pm cp lib/Firefox/Marionette/Exception/InsecureCertificate.pm blib/lib/Firefox/Marionette/Exception/InsecureCertificate.pm cp lib/Firefox/Marionette/Profile.pm blib/lib/Firefox/Marionette/Profile.pm cp lib/Firefox/Marionette/Proxy.pm blib/lib/Firefox/Marionette/Proxy.pm cp lib/Firefox/Marionette/Capabilities.pm blib/lib/Firefox/Marionette/Capabilities.pm cp lib/Firefox/Marionette/Bookmark.pm blib/lib/Firefox/Marionette/Bookmark.pm cp lib/Firefox/Marionette/Window/Rect.pm blib/lib/Firefox/Marionette/Window/Rect.pm cp lib/Firefox/Marionette/UpdateStatus.pm blib/lib/Firefox/Marionette/UpdateStatus.pm cp lib/Waterfox/Marionette.pm blib/lib/Waterfox/Marionette.pm cp lib/Firefox/Marionette/WebWindow.pm blib/lib/Firefox/Marionette/WebWindow.pm cp lib/Firefox/Marionette/WebAuthn/Credential.pm blib/lib/Firefox/Marionette/WebAuthn/Credential.pm cp lib/Firefox/Marionette/WebFrame.pm blib/lib/Firefox/Marionette/WebFrame.pm cp lib/Waterfox/Marionette/Profile.pm blib/lib/Waterfox/Marionette/Profile.pm cp lib/Firefox/Marionette/WebAuthn/Authenticator.pm blib/lib/Firefox/Marionette/WebAuthn/Authenticator.pm cp ca-bundle-for-firefox blib/script/ca-bundle-for-firefox cp check-firefox-certificate-authorities blib/script/check-firefox-certificate-authorities cp firefox-passwords blib/script/firefox-passwords cp setup-for-firefox-marionette-build.sh blib/script/setup-for-firefox-marionette-build.sh "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ca-bundle-for-firefox "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/check-firefox-certificate-authorities "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/firefox-passwords "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/setup-for-firefox-marionette-build.sh cp ssh-auth-cmd-marionette blib/script/ssh-auth-cmd-marionette "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/ssh-auth-cmd-marionette Manifying 4 pod documents Manifying 27 pod documents Manifying 12 pod documents make[1]: Leaving directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' FIREFOX_DEBUG=1 NO_NETWORK=1 RES_OPTIONS=attempts:0 http_proxy= \ xvfb-run -a \ dbus-run-session -- \ dh_auto_test make -j40 test TEST_VERBOSE=1 make[2]: Entering directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t # Testing Firefox::Marionette 1.68 t/00.load.t ........... 1..1 ok 1 - use Firefox::Marionette; ok # Starting test at Tue Nov 18 20:34:44 2025 [2817639] Sandbox: CanCreateUserNamespace() clone() failure: EPERM # Version is Mozilla Firefox 140.5.0esr # XAUTHORITY is /tmp/xvfb-run.HF45jk/Xauthority # DISPLAY is :99 Can't exec "dbus-launch": No such file or directory at t/01-marionette.t line 564. # D-Bus appears to be broken. 'dbus-launch' was unable to successfully complete:-1 # Debian Version is forky/sid # Xvfb deb version is 2:21.1.20-1 # grep -r Mem /proc/meminfo # MemTotal: 82331424 kB # MemFree: 10815540 kB # MemAvailable: 75011708 kB # ulimit -a | grep -i mem # memory(kbytes) unlimited # locked memory(kbytes) 8192 # vmemory(kbytes) unlimited # This firefox installation has 0 existing profiles '/usr/bin/perl --version' did not produce output that could be parsed. Assuming modern Marionette is available at t/01-marionette.t line 668. '/usr/bin/perl --version' did not produce output that could be parsed. Assuming modern Marionette is available at t/01-marionette.t line 668. '/usr/bin/perl --version' did not produce output that could be parsed. Assuming modern Marionette is available at t/01-marionette.t line 668. '/usr/bin/perl --version' did not produce output that could be parsed. Assuming modern Marionette is available at t/01-marionette.t line 668. # Initial tests # Testing has been running for 2 seconds at t/01-marionette.t line 786 ** firefox --version ** firefox -marionette -remote-allow-system-access -safe-mode -headless -profile /tmp/firefox_marionette_local_Ufl_aX8yUYv/profile --no-remote --new-instance [2817770] Sandbox: CanCreateUserNamespace() clone() failure: EPERM *** You are running in headless mode. << 50:{"applicationType":"gecko","marionetteProtocol":3} >> 73:[0,1,"WebDriver:NewSession",{"capabilities":{"requiredCapabilities":{}}}] << 761:[1,1,null,{"sessionId":"c8f63df3-3763-4630-8487-0a769fbe14af","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2817770,"moz:profile":"/tmp/firefox_marionette_local_Ufl_aX8yUYv/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}] >> 179:[0,2,"WebAuthn:AddVirtualAuthenticator",{"hasResidentKey":true,"hasUserVerification":true,"isUserConsenting":true,"isUserVerified":true,"protocol":"ctap2","transport":"internal"}] << 66:[1,2,null,{"value":"1x-nUI_0DqUwHZvzoP8iwNdw2j0oSFaNw_syzEaMnKY"}] >> 33:[0,3,"WebDriver:GetCapabilities"] << 720:[1,3,null,{"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2817770,"moz:profile":"/tmp/firefox_marionette_local_Ufl_aX8yUYv/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}}] >> 71:[0,4,"WebDriver:ExecuteScript",{"script":"return navigator.userAgent"}] << 93:[1,4,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"}] >> 29:[0,5,"Marionette:GetContext"] << 30:[1,5,null,{"value":"content"}] >> 48:[0,6,"Marionette:SetContext",{"value":"chrome"}] << 25:[1,6,null,{"value":null}] >> 80:[0,7,"WebDriver:ExecuteScript",{"script":"return Services.appinfo.XPCOMABI;\n"}] << 34:[1,7,null,{"value":"x86_64-gcc3"}] >> 29:[0,8,"Marionette:GetContext"] << 29:[1,8,null,{"value":"chrome"}] >> 49:[0,9,"Marionette:SetContext",{"value":"content"}] << 25:[1,9,null,{"value":null}] # Browser version is 140.5.0 # Operating System is linux 6.12.57+deb13-amd64 # Profile Directory is /tmp/firefox_marionette_local_Ufl_aX8yUYv/profile # Mozilla PID is 2817770 # Firefox BuildID is 20251106203603 # Addons are disabled # User Agent is Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 # uname is linux # Arch is x86_64 >> 33:[0,10,"Marionette:GetWindowType"] << 41:[1,10,null,{"value":"navigator:browser"}] >> 32:[0,11,"WebDriver:GetWindowRect"] << 51:[1,11,null,{"x":0,"y":0,"width":1366,"height":768}] >> 72:[0,12,"WebDriver:SetWindowRect",{"height":452,"width":326,"x":3,"y":23}] << 51:[1,12,null,{"x":3,"y":23,"width":450,"height":452}] >> 32:[0,13,"WebDriver:GetWindowRect"] << 51:[1,13,null,{"x":3,"y":23,"width":450,"height":452}] >> 32:[0,14,"WebDriver:GetWindowRect"] << 51:[1,14,null,{"x":3,"y":23,"width":450,"height":452}] >> 30:[0,15,"WebDriver:GetTimeouts"] << 59:[1,15,null,{"implicit":0,"pageLoad":300000,"script":30000}] >> 81:[0,16,"WebDriver:SetTimeouts",{"implicit":41001,"pageLoad":45043,"script":48021}] << 26:[1,16,null,{"value":null}] >> 30:[0,17,"WebDriver:GetTimeouts"] << 62:[1,17,null,{"implicit":41001,"pageLoad":45043,"script":48021}] >> 30:[0,18,"WebDriver:GetTimeouts"] << 62:[1,18,null,{"implicit":41001,"pageLoad":45043,"script":48021}] >> 81:[0,19,"WebDriver:SetTimeouts",{"implicit":41001,"pageLoad":45043,"script":48021}] << 26:[1,19,null,{"value":null}] >> 72:[0,20,"WebDriver:ExecuteScript",{"script":"return navigator.webdriver"}] << 26:[1,20,null,{"value":true}] >> 87:[0,21,"WebDriver:ExecuteScript",{"script":"window.open(\"about:blank\", \"_blank\");"}] << 26:[1,21,null,{"value":null}] >> 30:[0,22,"WebDriver:CloseWindow"] << 52:[1,22,null,["8fb089bd-8d22-442b-9044-15a90fa4c941"]] >> 51:[0,23,"Marionette:Quit",{"flags":["eAttemptQuit"]}] << 61:[1,23,null,{"cause":"shutdown","forced":false,"in_app":true}] # Starting new firefox for testing capabilities and accessing proxies # Using proxy port TCP/38875 # Using SOCKS port TCP/42175 # Testing has been running for 13 seconds at t/01-marionette.t line 1198 ** firefox --version ** firefox -marionette -remote-allow-system-access -safe-mode -headless -profile /tmp/firefox_marionette_local_zL7LW1YyBdv/profile --no-remote --new-instance --kiosk [2820758] Sandbox: CanCreateUserNamespace() clone() failure: EPERM *** You are running in headless mode. << 50:{"applicationType":"gecko","marionetteProtocol":3} >> 836:[0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"pageLoadStrategy":"eager","proxy":{"httpProxy":"localhost:38875","noProxy":["local.example.org"],"proxyType":"manual","socksProxy":"localhost:42175","socksProxyVersion":5,"socksVersion":5,"sslProxy":"localhost:47519"},"strictFileInteractability":true,"unhandledPromptBehavior":"accept and notify"}},"moz:accessibilityChecks":true,"moz:webdriverClick":true,"pageLoadStrategy":"eager","proxy":{"httpProxy":"localhost:38875","noProxy":["local.example.org"],"proxyType":"manual","socksProxy":"localhost:42175","socksProxyVersion":5,"socksVersion":5,"sslProxy":"localhost:47519"},"strictFileInteractability":true,"unhandledPromptBehavior":"accept and notify"}] [Parent 2820758, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2820758): GLib-GObject-CRITICAL **: 20:34:57.506: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed << 1339:[1,1,null,{"sessionId":"6a65cdd7-26ee-4381-8f90-2afad0c23050","capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","proxy":{"proxyType":"manual","httpProxy":"localhost:38875","noProxy":["local.example.org"],"sslProxy":"localhost:47519","socksProxy":"localhost:42175","socksVersion":5},"unhandledPromptBehavior":"accept and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2820758,"moz:profile":"/tmp/firefox_marionette_local_zL7LW1YyBdv/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"eager","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"pageLoadStrategy":"eager","proxy":{"httpProxy":"localhost:38875","noProxy":["local.example.org"],"proxyType":"manual","socksProxy":"localhost:42175","socksProxyVersion":5,"socksVersion":5,"sslProxy":"localhost:47519"},"strictFileInteractability":true,"unhandledPromptBehavior":"accept and notify"}}}}] >> 29:[0,2,"WebDriver:GetTimeouts"] << 58:[1,2,null,{"implicit":0,"pageLoad":300000,"script":30000}] >> 78:[0,3,"WebDriver:SetTimeouts",{"implicit":6543,"pageLoad":54321,"script":4567}] << 25:[1,3,null,{"value":null}] >> 29:[0,4,"Marionette:GetContext"] << 30:[1,4,null,{"value":"content"}] >> 48:[0,5,"Marionette:SetContext",{"value":"chrome"}] << 25:[1,5,null,{"value":null}] >> 2299:[0,6,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"toolbar_____"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 25:[1,6,null,{"value":null}] >> 29:[0,7,"Marionette:GetContext"] << 29:[1,7,null,{"value":"chrome"}] >> 49:[0,8,"Marionette:SetContext",{"value":"content"}] << 25:[1,8,null,{"value":null}] >> 29:[0,9,"Marionette:GetContext"] << 30:[1,9,null,{"value":"content"}] >> 49:[0,10,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,10,null,{"value":null}] >> 2300:[0,11,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,11,null,{"value":null}] >> 30:[0,12,"Marionette:GetContext"] << 30:[1,12,null,{"value":"chrome"}] >> 50:[0,13,"Marionette:SetContext",{"value":"content"}] << 26:[1,13,null,{"value":null}] >> 30:[0,14,"Marionette:GetContext"] << 31:[1,14,null,{"value":"content"}] >> 49:[0,15,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,15,null,{"value":null}] >> 2300:[0,16,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"AVX3RVYKpIH1"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,16,null,{"value":null}] >> 30:[0,17,"Marionette:GetContext"] << 30:[1,17,null,{"value":"chrome"}] >> 50:[0,18,"Marionette:SetContext",{"value":"content"}] << 26:[1,18,null,{"value":null}] >> 30:[0,19,"Marionette:GetContext"] << 31:[1,19,null,{"value":"content"}] >> 49:[0,20,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,20,null,{"value":null}] >> 2300:[0,21,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"AVX3RVYKpIH1"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,21,null,{"value":null}] >> 30:[0,22,"Marionette:GetContext"] << 30:[1,22,null,{"value":"chrome"}] >> 50:[0,23,"Marionette:SetContext",{"value":"content"}] << 26:[1,23,null,{"value":null}] >> 30:[0,24,"Marionette:GetContext"] << 31:[1,24,null,{"value":"content"}] >> 49:[0,25,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,25,null,{"value":null}] >> 2300:[0,26,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,26,null,{"value":null}] >> 30:[0,27,"Marionette:GetContext"] << 30:[1,27,null,{"value":"chrome"}] >> 50:[0,28,"Marionette:SetContext",{"value":"content"}] << 26:[1,28,null,{"value":null}] >> 30:[0,29,"Marionette:GetContext"] << 31:[1,29,null,{"value":"content"}] >> 49:[0,30,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,30,null,{"value":null}] >> 2300:[0,31,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"8ekUszisqO2S"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,31,null,{"value":null}] >> 30:[0,32,"Marionette:GetContext"] << 30:[1,32,null,{"value":"chrome"}] >> 50:[0,33,"Marionette:SetContext",{"value":"content"}] << 26:[1,33,null,{"value":null}] >> 30:[0,34,"Marionette:GetContext"] << 31:[1,34,null,{"value":"content"}] >> 49:[0,35,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,35,null,{"value":null}] >> 2300:[0,36,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,36,null,{"value":null}] >> 30:[0,37,"Marionette:GetContext"] << 30:[1,37,null,{"value":"chrome"}] >> 50:[0,38,"Marionette:SetContext",{"value":"content"}] << 26:[1,38,null,{"value":null}] >> 30:[0,39,"Marionette:GetContext"] << 31:[1,39,null,{"value":"content"}] >> 49:[0,40,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,40,null,{"value":null}] >> 2300:[0,41,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,41,null,{"value":null}] >> 30:[0,42,"Marionette:GetContext"] << 30:[1,42,null,{"value":"chrome"}] >> 50:[0,43,"Marionette:SetContext",{"value":"content"}] << 26:[1,43,null,{"value":null}] >> 30:[0,44,"Marionette:GetContext"] << 31:[1,44,null,{"value":"content"}] >> 49:[0,45,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,45,null,{"value":null}] >> 2275:[0,46,"WebDriver:ExecuteScript",{"args":["root________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 139:[1,46,null,{"value":{"guid":"root________","index":0,"type":2,"title":"","dateAdded":1763498103,"lastModified":1763498103,"childCount":5}}] >> 30:[0,47,"Marionette:GetContext"] << 30:[1,47,null,{"value":"chrome"}] >> 50:[0,48,"Marionette:SetContext",{"value":"content"}] << 26:[1,48,null,{"value":null}] >> 30:[0,49,"Marionette:GetContext"] << 31:[1,49,null,{"value":"content"}] >> 49:[0,50,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,50,null,{"value":null}] >> 2275:[0,51,"WebDriver:ExecuteScript",{"args":["toolbar_____"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 174:[1,51,null,{"value":{"guid":"toolbar_____","index":1,"type":2,"title":"toolbar","dateAdded":1763498103,"lastModified":1763498103,"parentGuid":"root________","childCount":0}}] >> 30:[0,52,"Marionette:GetContext"] << 30:[1,52,null,{"value":"chrome"}] >> 50:[0,53,"Marionette:SetContext",{"value":"content"}] << 26:[1,53,null,{"value":null}] >> 30:[0,54,"Marionette:GetContext"] << 31:[1,54,null,{"value":"content"}] >> 49:[0,55,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,55,null,{"value":null}] >> 2275:[0,56,"WebDriver:ExecuteScript",{"args":["f8BcdH76ENUl"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,56,null,{"value":null}] >> 30:[0,57,"Marionette:GetContext"] << 30:[1,57,null,{"value":"chrome"}] >> 50:[0,58,"Marionette:SetContext",{"value":"content"}] << 26:[1,58,null,{"value":null}] >> 30:[0,59,"Marionette:GetContext"] << 31:[1,59,null,{"value":"content"}] >> 49:[0,60,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,60,null,{"value":null}] >> 3030:[0,61,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686363942,"guid":"f8BcdH76ENUl","parentGuid":"toolbar_____","title":"PAUSE: The CPAN back stage entrance","type":1,"url":"https://pause.perl.org/pause/query"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 262:[1,61,null,{"value":{"dateAdded":"2023-06-10T02:25:42.000Z","guid":"f8BcdH76ENUl","parentGuid":"toolbar_____","title":"PAUSE: The CPAN back stage entrance","type":1,"url":"https://pause.perl.org/pause/query","index":0,"lastModified":"2023-06-10T02:25:42.000Z"}}] >> 30:[0,62,"Marionette:GetContext"] << 30:[1,62,null,{"value":"chrome"}] >> 50:[0,63,"Marionette:SetContext",{"value":"content"}] << 26:[1,63,null,{"value":null}] >> 30:[0,64,"Marionette:GetContext"] << 31:[1,64,null,{"value":"content"}] >> 49:[0,65,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,65,null,{"value":null}] >> 2275:[0,66,"WebDriver:ExecuteScript",{"args":["menu________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 171:[1,66,null,{"value":{"guid":"menu________","index":0,"type":2,"title":"menu","dateAdded":1763498103,"lastModified":1763498103,"parentGuid":"root________","childCount":0}}] >> 30:[0,67,"Marionette:GetContext"] << 30:[1,67,null,{"value":"chrome"}] >> 50:[0,68,"Marionette:SetContext",{"value":"content"}] << 26:[1,68,null,{"value":null}] >> 30:[0,69,"Marionette:GetContext"] << 31:[1,69,null,{"value":"content"}] >> 49:[0,70,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,70,null,{"value":null}] >> 2275:[0,71,"WebDriver:ExecuteScript",{"args":["AVX3RVYKpIH1"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,71,null,{"value":null}] >> 30:[0,72,"Marionette:GetContext"] << 30:[1,72,null,{"value":"chrome"}] >> 50:[0,73,"Marionette:SetContext",{"value":"content"}] << 26:[1,73,null,{"value":null}] >> 30:[0,74,"Marionette:GetContext"] << 31:[1,74,null,{"value":"content"}] >> 49:[0,75,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,75,null,{"value":null}] >> 2956:[0,76,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686373477,"guid":"AVX3RVYKpIH1","parentGuid":"menu________","title":"CPAN","type":2}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] [Parent 2820758, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2820758): GLib-GObject-CRITICAL **: 20:35:05.648: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed [Parent 2820758, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2820758): GLib-GObject-CRITICAL **: 20:35:05.648: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed [Parent 2820758, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2820758): GLib-GObject-CRITICAL **: 20:35:05.648: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed << 188:[1,76,null,{"value":{"dateAdded":"2023-06-10T05:04:37.000Z","guid":"AVX3RVYKpIH1","parentGuid":"menu________","title":"CPAN","type":2,"index":0,"lastModified":"2023-06-10T05:04:37.000Z"}}] >> 30:[0,77,"Marionette:GetContext"] << 30:[1,77,null,{"value":"chrome"}] >> 50:[0,78,"Marionette:SetContext",{"value":"content"}] << 26:[1,78,null,{"value":null}] >> 30:[0,79,"Marionette:GetContext"] << 31:[1,79,null,{"value":"content"}] >> 49:[0,80,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,80,null,{"value":null}] >> 2275:[0,81,"WebDriver:ExecuteScript",{"args":["k9cqQ77UXOuy"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,81,null,{"value":null}] >> 30:[0,82,"Marionette:GetContext"] << 30:[1,82,null,{"value":"chrome"}] >> 50:[0,83,"Marionette:SetContext",{"value":"content"}] << 26:[1,83,null,{"value":null}] >> 30:[0,84,"Marionette:GetContext"] << 31:[1,84,null,{"value":"content"}] >> 49:[0,85,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,85,null,{"value":null}] >> 4135:[0,86,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685610972,"guid":"k9cqQ77UXOuy","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC","parentGuid":"AVX3RVYKpIH1","title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/pod/Firefox::Marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 331:[1,86,null,{"value":{"dateAdded":"2023-06-01T09:16:12.000Z","guid":"k9cqQ77UXOuy","parentGuid":"AVX3RVYKpIH1","title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/pod/Firefox::Marionette","index":0,"lastModified":"2023-06-01T09:16:12.000Z"}}] >> 30:[0,87,"Marionette:GetContext"] << 30:[1,87,null,{"value":"chrome"}] >> 50:[0,88,"Marionette:SetContext",{"value":"content"}] << 26:[1,88,null,{"value":null}] >> 30:[0,89,"Marionette:GetContext"] << 31:[1,89,null,{"value":"content"}] >> 49:[0,90,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,90,null,{"value":null}] >> 2275:[0,91,"WebDriver:ExecuteScript",{"args":["j_W9D8qjJih9"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,91,null,{"value":null}] >> 30:[0,92,"Marionette:GetContext"] << 30:[1,92,null,{"value":"chrome"}] >> 50:[0,93,"Marionette:SetContext",{"value":"content"}] << 26:[1,93,null,{"value":null}] >> 30:[0,94,"Marionette:GetContext"] << 31:[1,94,null,{"value":"content"}] >> 49:[0,95,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,95,null,{"value":null}] >> 4153:[0,96,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685672252,"guid":"j_W9D8qjJih9","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC","parentGuid":"AVX3RVYKpIH1","title":"Firefox-Marionette-1.38 - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/release/DDICK/Firefox-Marionette-1.38"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 349:[1,96,null,{"value":{"dateAdded":"2023-06-02T02:17:32.000Z","guid":"j_W9D8qjJih9","parentGuid":"AVX3RVYKpIH1","title":"Firefox-Marionette-1.38 - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/release/DDICK/Firefox-Marionette-1.38","index":1,"lastModified":"2023-06-02T02:17:32.000Z"}}] >> 30:[0,97,"Marionette:GetContext"] << 30:[1,97,null,{"value":"chrome"}] >> 50:[0,98,"Marionette:SetContext",{"value":"content"}] << 26:[1,98,null,{"value":null}] >> 30:[0,99,"Marionette:GetContext"] << 31:[1,99,null,{"value":"content"}] >> 50:[0,100,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,100,null,{"value":null}] >> 2276:[0,101,"WebDriver:ExecuteScript",{"args":["menu________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 172:[1,101,null,{"value":{"guid":"menu________","index":0,"type":2,"title":"menu","dateAdded":1763498103,"lastModified":1685672252,"parentGuid":"root________","childCount":1}}] >> 31:[0,102,"Marionette:GetContext"] << 31:[1,102,null,{"value":"chrome"}] >> 51:[0,103,"Marionette:SetContext",{"value":"content"}] << 27:[1,103,null,{"value":null}] >> 31:[0,104,"Marionette:GetContext"] << 32:[1,104,null,{"value":"content"}] >> 50:[0,105,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,105,null,{"value":null}] >> 2276:[0,106,"WebDriver:ExecuteScript",{"args":["8ekUszisqO2S"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,106,null,{"value":null}] >> 31:[0,107,"Marionette:GetContext"] << 31:[1,107,null,{"value":"chrome"}] >> 51:[0,108,"Marionette:SetContext",{"value":"content"}] << 27:[1,108,null,{"value":null}] >> 31:[0,109,"Marionette:GetContext"] << 32:[1,109,null,{"value":"content"}] >> 50:[0,110,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,110,null,{"value":null}] >> 2961:[0,111,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686373477,"guid":"8ekUszisqO2S","parentGuid":"menu________","title":"Searches","type":2}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 193:[1,111,null,{"value":{"dateAdded":"2023-06-10T05:04:37.000Z","guid":"8ekUszisqO2S","parentGuid":"menu________","title":"Searches","type":2,"index":1,"lastModified":"2023-06-10T05:04:37.000Z"}}] >> 31:[0,112,"Marionette:GetContext"] << 31:[1,112,null,{"value":"chrome"}] >> 51:[0,113,"Marionette:SetContext",{"value":"content"}] << 27:[1,113,null,{"value":null}] >> 31:[0,114,"Marionette:GetContext"] << 32:[1,114,null,{"value":"content"}] >> 50:[0,115,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,115,null,{"value":null}] >> 2276:[0,116,"WebDriver:ExecuteScript",{"args":["gU6lSqj-KgZf"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,116,null,{"value":null}] >> 31:[0,117,"Marionette:GetContext"] << 31:[1,117,null,{"value":"chrome"}] >> 51:[0,118,"Marionette:SetContext",{"value":"content"}] << 27:[1,118,null,{"value":null}] >> 31:[0,119,"Marionette:GetContext"] << 32:[1,119,null,{"value":"content"}] >> 50:[0,120,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,120,null,{"value":null}] >> 4273:[0,121,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685670771,"guid":"gU6lSqj-KgZf","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQklEQVQ4jaWTT0xbdQDHP+9f+17/UGAtBQIkmywDVERnZoJmISaCMcAyN5w4EndQY3bw5ElRSdBwWswOxh3mdIkeAJ0kbstwZMkuiH9QMgfbCDB0UrLSFvra0vb1vffzYDTj7Of2vXxO3w/8T6QHx3Lf/pDQPIeKknLCk88/rRVLnoKuZ12f54ZXckaMTetazXezeQnEDoEA6e7hA61SuWc4UL+vR3/hOPreR5EcB8cu4mxtYU2Nk57/YdLeMt/b0/zzrDSE+59g5diBx5RdkcnwoRNRpWk/pdgS29cukhkbQ44ECb70BsHn+2B9hY0vT6ey68s9zV/fnAaQ73Z06GrIN1w18FbUUQxiAx3YsWUq3jlN7blvUMNVmKNn+Ku/HSuTJdL3eqU/XDO00rs7CiA7dXZHoPmpHrm+ifi7r6F392O8+CYaYDzRTnjkLJ6mFggFiQ+fxAk3ENrd/Bz+SM9YH4pcRAx6u/rJTI6i1DSgvHySW4sJkps5XAHznkaSRj2qUBGKQebKKNqzR5CCwd6H51sUWcpbbWp5Jeb4ZyihcuRQGNPcJp6ykCWIxZMUaqvwP+JDb9Ip/ngVbXczsqweLAuZimoUC37FF8COJ5Cr6/FkU7S1VKPZ93BXx+mVHPKNf2KVu4gNjfQvy+AKVJnQetiV1JLmKQnhat59e7FzJvn5GaKdRyFzG2fpbVLTVTjCh1ypkZsTyKEIrrVNSYg1KyELueT3Thfu3EB/pgt3M4F989d/HuJrxwmPgDeAYWg4MQl3yyR45FXI5RC2WIhs6K6sCvfz4uWvKOvqR8pkcBbvYAEoFXjKDiP9HuHStmB13UFO5gl2HsW+fgGlWPikcWnJUtX7pYmsunjR+GOhO/rROdKnhvjtpzE+1S5jm2mSPQlWq1xGbmVoe/8MpNbYmJuZSpr3rjeAkB+amk27TnYw8e3Z+4qhUv3FJfy76rDtIpJu8IraznHRQdOpC0g+iJ//OGWtxT5om1hN72xh4PFW2aj4MNTyZLfUeYx8OESgMoq34JBZmMW5Mkpu5fb3bsYc3NM6t7OFf5nuqzNq9NqDlvAMirzVZhTzAUvzWiWfd0bDPW9Z5kTL+PzmgzX+DWN5abKzgxf8AAAAAElFTkSuQmCC","parentGuid":"8ekUszisqO2S","title":"perl \ud83d\udc2b at DuckDuckGo","type":1,"url":"https://duckduckgo.com/?va=v&t=ha&q=perl+%F0%9F%90%AB&ia=web"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 277:[1,121,null,{"value":{"dateAdded":"2023-06-02T01:52:51.000Z","guid":"gU6lSqj-KgZf","parentGuid":"8ekUszisqO2S","title":"perl 🐫 at DuckDuckGo","type":1,"url":"https://duckduckgo.com/?va=v&t=ha&q=perl+%F0%9F%90%AB&ia=web","index":0,"lastModified":"2023-06-02T01:52:51.000Z"}}] >> 31:[0,122,"Marionette:GetContext"] << 31:[1,122,null,{"value":"chrome"}] >> 51:[0,123,"Marionette:SetContext",{"value":"content"}] << 27:[1,123,null,{"value":null}] >> 31:[0,124,"Marionette:GetContext"] << 32:[1,124,null,{"value":"content"}] >> 50:[0,125,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,125,null,{"value":null}] >> 2276:[0,126,"WebDriver:ExecuteScript",{"args":["Svm3JjpPRas2"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,126,null,{"value":null}] >> 31:[0,127,"Marionette:GetContext"] << 31:[1,127,null,{"value":"chrome"}] >> 51:[0,128,"Marionette:SetContext",{"value":"content"}] << 27:[1,128,null,{"value":null}] >> 31:[0,129,"Marionette:GetContext"] << 32:[1,129,null,{"value":"content"}] >> 50:[0,130,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,130,null,{"value":null}] >> 4160:[0,131,"WebDriver:ExecuteScript",{"args":[{"dateAdded":"1685611","guid":"Svm3JjpPRas2","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrElEQVQ4jW2SzWucVRTGf+fe9847SW2n+WioIdZkJkzGWLMsQvBjpRv1H1BcqSB166aUbgQXLkpEEGnF7ty5Edw0orULtS5DjNOZ5qvEKkMzEUuS6bz33tPFvCNj6LM653LO8/A85wpHUJmbW0QKbwMvAU8BCHpXkZshhK+2mmu3BudloC5UagsfI7wvIsOooqoKID2gqvuqfLFeX7kAdPsEBmZdea74beLcKxoj+R4iPf7BXozBZ9n1jdudN+BOZgEtV5/8pJAW3/JZ90ZU/UiF0yAnVbWpUVvAMLASo7+oUYuFQvrqiRFT2NttLctUtXouleIN62whZNm19dur7wLFiZmzpdbmahvQyWr15L2Dg312dg5n5s5+6lzhvPfZQ59lLyapce+IkSGNkSjaASzQaW2udvrh3Gs07ud2LUqmMVhrzLA4+55RNS+IqsYYO91u+AwIvVz+F3C/DkEffh5i3FdFwSwaEaYUBKT950Z9Ox+MgA4QaL+/22xuCWzl708bwGkv6mMj5XLxiPJRCJOTRYXx3pw6A9wRVRUjpZIZej5Xso+xkAB65lhp0YhM5H9k3ajqrxgD8MAm5sp0tVrLczhqwZ+ZfXbeJckSoGJEUH42MYQvUZXgw5Kq3nRu+I/KMwvLM9X5c/3tqXLtuUpt4WuXyC+CzANRo4audq/Yf9r3d0pjp0atTT7M/OGbxpg9VE5nofPNv+32HsDQ+MgTqXVXRSRV5dAmNo3eL2036tekf7JKbeEngbEY/QcKDzYba7/9Z2B6ulhJj2+LkQljLD5k1zfq8XVY8yY/WVivr7wcNf5oE/e9Mcmt0dnZE/398TR1COMi4n3wlzfqq6/BWheIdiCouLfb+u742KllVP/+q+l/gHYAONgdkdHRxIbgL202fr+aiwLwCG7VPT6fvRxuAAAAAElFTkSuQmCC","parentGuid":"menu________","title":"GitHub - david-dick/firefox-marionette: This is a client module to automate the Mozilla Firefox browser via the Marionette protocol","type":1,"url":"https://github.com/david-dick/firefox-marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 373:[1,131,null,{"value":{"dateAdded":"1970-01-20T12:13:31.000Z","guid":"Svm3JjpPRas2","parentGuid":"menu________","title":"GitHub - david-dick/firefox-marionette: This is a client module to automate the Mozilla Firefox browser via the Marionette protocol","type":1,"url":"https://github.com/david-dick/firefox-marionette","index":2,"lastModified":"1970-01-20T12:13:31.000Z"}}] >> 31:[0,132,"Marionette:GetContext"] << 31:[1,132,null,{"value":"chrome"}] >> 51:[0,133,"Marionette:SetContext",{"value":"content"}] << 27:[1,133,null,{"value":null}] >> 31:[0,134,"Marionette:GetContext"] << 32:[1,134,null,{"value":"content"}] >> 50:[0,135,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,135,null,{"value":null}] >> 2276:[0,136,"WebDriver:ExecuteScript",{"args":["CJeb1BVstTCR"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,136,null,{"value":null}] >> 31:[0,137,"Marionette:GetContext"] << 31:[1,137,null,{"value":"chrome"}] >> 51:[0,138,"Marionette:SetContext",{"value":"content"}] << 27:[1,138,null,{"value":null}] >> 31:[0,139,"Marionette:GetContext"] << 32:[1,139,null,{"value":"content"}] >> 50:[0,140,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,140,null,{"value":null}] >> 3015:[0,141,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686364081,"guid":"CJeb1BVstTCR","parentGuid":"menu________","title":"PerlMonks - The Monastery Gates","type":1,"url":"https://perlmonks.org/"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 247:[1,141,null,{"value":{"dateAdded":"2023-06-10T02:28:01.000Z","guid":"CJeb1BVstTCR","parentGuid":"menu________","title":"PerlMonks - The Monastery Gates","type":1,"url":"https://perlmonks.org/","index":3,"lastModified":"2023-06-10T02:28:01.000Z"}}] >> 31:[0,142,"Marionette:GetContext"] << 31:[1,142,null,{"value":"chrome"}] >> 51:[0,143,"Marionette:SetContext",{"value":"content"}] << 27:[1,143,null,{"value":null}] >> 181:[0,144,"WebAuthn:AddVirtualAuthenticator",{"hasResidentKey":true,"hasUserVerification":true,"isUserConsenting":true,"isUserVerified":true,"protocol":"ctap2","transport":"internal"}] << 68:[1,144,null,{"value":"0wNYnvnYLQKf_EIBgDIFk4-6OOjLZODw3DbIM-gikNM"}] >> 31:[0,145,"Marionette:GetContext"] << 32:[1,145,null,{"value":"content"}] >> 51:[0,146,"Marionette:SetContext",{"value":"content"}] << 27:[1,146,null,{"value":null}] >> 121:[0,147,"WebDriver:ExecuteScript",{"script":"return (async function() { return await window.HAR.triggerExport() })();\n"}] << 336:[1,147,{"error":"javascript error","message":"TypeError: can't access property \"triggerExport\", window.HAR is undefined","stacktrace":"@moz-nullprincipal:{8f253fc3-670a-4b82-ad18-826d902b5bb8}:2:34\n@moz-nullprincipal:{8f253fc3-670a-4b82-ad18-826d902b5bb8}:2:76\n@moz-nullprincipal:{8f253fc3-670a-4b82-ad18-826d902b5bb8}:4:8\n"},null] >> 31:[0,148,"Marionette:GetContext"] << 32:[1,148,null,{"value":"content"}] >> 50:[0,149,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,149,null,{"value":null}] >> 839:[0,150,"WebDriver:ExecuteScript",{"args":[{"url":"https://metacpan.org/pod/Firefox::Marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return lazy.Bookmarks.search(arguments[0]); "}] << 334:[1,150,null,{"value":[{"guid":"k9cqQ77UXOuy","index":0,"type":1,"title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","dateAdded":"2023-06-01T09:16:12.000Z","lastModified":"2023-06-01T09:16:12.000Z","parentGuid":"AVX3RVYKpIH1","url":"https://metacpan.org/pod/Firefox::Marionette"}]}] >> 31:[0,151,"Marionette:GetContext"] << 31:[1,151,null,{"value":"chrome"}] >> 50:[0,152,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,152,null,{"value":null}] >> 2276:[0,153,"WebDriver:ExecuteScript",{"args":["k9cqQ77UXOuy"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 1420:[1,153,null,{"value":{"guid":"k9cqQ77UXOuy","index":0,"type":1,"title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","dateAdded":1685610972,"lastModified":1685610972,"parentGuid":"AVX3RVYKpIH1","url":"https://metacpan.org/pod/Firefox::Marionette","tags":[],"iconUrl":"fake-favicon-uri:https://metacpan.org/pod/Firefox::Marionette","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC"}}] >> 31:[0,154,"Marionette:GetContext"] << 31:[1,154,null,{"value":"chrome"}] >> 50:[0,155,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,155,null,{"value":null}] >> 31:[0,156,"Marionette:GetContext"] << 31:[1,156,null,{"value":"chrome"}] >> 51:[0,157,"Marionette:SetContext",{"value":"content"}] << 27:[1,157,null,{"value":null}] >> 31:[0,158,"Marionette:GetContext"] << 32:[1,158,null,{"value":"content"}] >> 50:[0,159,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,159,null,{"value":null}] >> 817:[0,160,"WebDriver:ExecuteScript",{"args":[{"url":"https://perlmonks.org/"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return lazy.Bookmarks.search(arguments[0]); "}] << 249:[1,160,null,{"value":[{"guid":"CJeb1BVstTCR","index":3,"type":1,"title":"PerlMonks - The Monastery Gates","dateAdded":"2023-06-10T02:28:01.000Z","lastModified":"2023-06-10T02:28:01.000Z","parentGuid":"menu________","url":"https://perlmonks.org/"}]}] >> 31:[0,161,"Marionette:GetContext"] << 31:[1,161,null,{"value":"chrome"}] >> 50:[0,162,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,162,null,{"value":null}] >> 2276:[0,163,"WebDriver:ExecuteScript",{"args":["CJeb1BVstTCR"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 225:[1,163,null,{"value":{"guid":"CJeb1BVstTCR","index":3,"type":1,"title":"PerlMonks - The Monastery Gates","dateAdded":1686364081,"lastModified":1686364081,"parentGuid":"menu________","url":"https://perlmonks.org/","tags":[]}}] >> 31:[0,164,"Marionette:GetContext"] << 31:[1,164,null,{"value":"chrome"}] >> 50:[0,165,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,165,null,{"value":null}] >> 31:[0,166,"Marionette:GetContext"] << 31:[1,166,null,{"value":"chrome"}] >> 51:[0,167,"Marionette:SetContext",{"value":"content"}] << 27:[1,167,null,{"value":null}] >> 35:[0,168,"WebDriver:GetCapabilities"] << 1301:[1,168,null,{"value":{"capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","proxy":{"proxyType":"manual","httpProxy":"localhost:38875","noProxy":["local.example.org"],"sslProxy":"localhost:47519","socksProxy":"localhost:42175","socksVersion":5},"unhandledPromptBehavior":"accept and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2820758,"moz:profile":"/tmp/firefox_marionette_local_zL7LW1YyBdv/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"eager","timeouts":{"implicit":6543,"pageLoad":54321,"script":4567},"setWindowRect":true,"strictFileInteractability":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"pageLoadStrategy":"eager","proxy":{"httpProxy":"localhost:38875","noProxy":["local.example.org"],"proxyType":"manual","socksProxy":"localhost:42175","socksProxyVersion":5,"socksVersion":5,"sslProxy":"localhost:47519"},"strictFileInteractability":true,"unhandledPromptBehavior":"accept and notify"}}}}}] # $capabilities->moz_use_non_spec_compliant_pointer_origin is not supported for 140.5.0 # Testing has been running for 27 seconds at t/01-marionette.t line 1310 >> 35:[0,169,"WebDriver:GetCapabilities"] << 1301:[1,169,null,{"value":{"capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","proxy":{"proxyType":"manual","httpProxy":"localhost:38875","noProxy":["local.example.org"],"sslProxy":"localhost:47519","socksProxy":"localhost:42175","socksVersion":5},"unhandledPromptBehavior":"accept and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2820758,"moz:profile":"/tmp/firefox_marionette_local_zL7LW1YyBdv/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"eager","timeouts":{"implicit":6543,"pageLoad":54321,"script":4567},"setWindowRect":true,"strictFileInteractability":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true,"moz:accessibilityChecks":true,"moz:webdriverClick":true,"pageLoadStrategy":"eager","proxy":{"httpProxy":"localhost:38875","noProxy":["local.example.org"],"proxyType":"manual","socksProxy":"localhost:42175","socksProxyVersion":5,"socksVersion":5,"sslProxy":"localhost:47519"},"strictFileInteractability":true,"unhandledPromptBehavior":"accept and notify"}}}}}] # Testing has been running for 27 seconds at t/01-marionette.t line 1340 >> 52:[0,170,"Marionette:Quit",{"flags":["eAttemptQuit"]}] << 62:[1,170,null,{"cause":"shutdown","forced":false,"in_app":true}] ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value # Starting new firefox for testing proxies with proxy port TCP/54843 # Testing has been running for 39 seconds at t/01-marionette.t line 1461 ** firefox --version ** firefox -marionette -remote-allow-system-access -safe-mode -headless -profile /tmp/firefox_marionette_local_KxiKNYM_eeA/profile --no-remote --new-instance --devtools [2823475] Sandbox: CanCreateUserNamespace() clone() failure: EPERM *** You are running in headless mode. << 50:{"applicationType":"gecko","marionetteProtocol":3} >> 220:[0,1,"WebDriver:NewSession",{"capabilities":{"requiredCapabilities":{"proxy":{"proxyAutoconfigUrl":"http://localhost:54843","proxyType":"pac"}}},"proxy":{"proxyAutoconfigUrl":"http://localhost:54843","proxyType":"pac"}}] << 940:[1,1,null,{"sessionId":"2600e55e-cfb9-4562-8f8f-8686d9ea6ebe","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","proxy":{"proxyType":"pac","proxyAutoconfigUrl":"http://localhost:54843"},"unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2823475,"moz:profile":"/tmp/firefox_marionette_local_KxiKNYM_eeA/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"proxy":{"proxyAutoconfigUrl":"http://localhost:54843","proxyType":"pac"}}}}}] >> 29:[0,2,"WebDriver:GetTimeouts"] << 58:[1,2,null,{"implicit":0,"pageLoad":300000,"script":30000}] >> 76:[0,3,"WebDriver:SetTimeouts",{"implicit":0,"pageLoad":65432,"script":30000}] << 25:[1,3,null,{"value":null}] >> 179:[0,4,"WebAuthn:AddVirtualAuthenticator",{"hasResidentKey":true,"hasUserVerification":true,"isUserConsenting":true,"isUserVerified":true,"protocol":"ctap2","transport":"internal"}] << 66:[1,4,null,{"value":"qZpJprkanwy-Cx_qeqiCzWB1YdWAuqIZsH_uy7N8gk0"}] >> 29:[0,5,"Marionette:GetContext"] << 30:[1,5,null,{"value":"content"}] >> 48:[0,6,"Marionette:SetContext",{"value":"chrome"}] << 25:[1,6,null,{"value":null}] >> 814:[0,7,"WebDriver:ExecuteScript",{"args":["geo.enabled",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 25:[1,7,null,{"value":null}] >> 29:[0,8,"Marionette:GetContext"] << 29:[1,8,null,{"value":"chrome"}] >> 49:[0,9,"Marionette:SetContext",{"value":"content"}] << 25:[1,9,null,{"value":null}] >> 30:[0,10,"Marionette:GetContext"] << 31:[1,10,null,{"value":"content"}] >> 49:[0,11,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,11,null,{"value":null}] >> 828:[0,12,"WebDriver:ExecuteScript",{"args":["geo.provider.use_geoclue",0],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,12,null,{"value":null}] >> 30:[0,13,"Marionette:GetContext"] << 30:[1,13,null,{"value":"chrome"}] >> 50:[0,14,"Marionette:SetContext",{"value":"content"}] << 26:[1,14,null,{"value":null}] >> 30:[0,15,"Marionette:GetContext"] << 31:[1,15,null,{"value":"content"}] >> 49:[0,16,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,16,null,{"value":null}] >> 833:[0,17,"WebDriver:ExecuteScript",{"args":["geo.provider.use_corelocation",0],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,17,null,{"value":null}] >> 30:[0,18,"Marionette:GetContext"] << 30:[1,18,null,{"value":"chrome"}] >> 50:[0,19,"Marionette:SetContext",{"value":"content"}] << 26:[1,19,null,{"value":null}] >> 30:[0,20,"Marionette:GetContext"] << 31:[1,20,null,{"value":"content"}] >> 49:[0,21,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,21,null,{"value":null}] >> 824:[0,22,"WebDriver:ExecuteScript",{"args":["geo.provider.testing",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,22,null,{"value":null}] >> 30:[0,23,"Marionette:GetContext"] << 30:[1,23,null,{"value":"chrome"}] >> 50:[0,24,"Marionette:SetContext",{"value":"content"}] << 26:[1,24,null,{"value":null}] >> 30:[0,25,"Marionette:GetContext"] << 31:[1,25,null,{"value":"content"}] >> 49:[0,26,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,26,null,{"value":null}] >> 822:[0,27,"WebDriver:ExecuteScript",{"args":["geo.prompt.testing",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,27,null,{"value":null}] >> 30:[0,28,"Marionette:GetContext"] << 30:[1,28,null,{"value":"chrome"}] >> 50:[0,29,"Marionette:SetContext",{"value":"content"}] << 26:[1,29,null,{"value":null}] >> 30:[0,30,"Marionette:GetContext"] << 31:[1,30,null,{"value":"content"}] >> 49:[0,31,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,31,null,{"value":null}] >> 828:[0,32,"WebDriver:ExecuteScript",{"args":["geo.prompt.testing.allow",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,32,null,{"value":null}] >> 30:[0,33,"Marionette:GetContext"] << 30:[1,33,null,{"value":"chrome"}] >> 50:[0,34,"Marionette:SetContext",{"value":"content"}] << 26:[1,34,null,{"value":null}] >> 30:[0,35,"Marionette:GetContext"] << 31:[1,35,null,{"value":"content"}] >> 49:[0,36,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,36,null,{"value":null}] >> 830:[0,37,"WebDriver:ExecuteScript",{"args":["geo.security.allowinsecure",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,37,null,{"value":null}] >> 30:[0,38,"Marionette:GetContext"] << 30:[1,38,null,{"value":"chrome"}] >> 50:[0,39,"Marionette:SetContext",{"value":"content"}] << 26:[1,39,null,{"value":null}] >> 30:[0,40,"Marionette:GetContext"] << 31:[1,40,null,{"value":"content"}] >> 49:[0,41,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,41,null,{"value":null}] >> 817:[0,42,"WebDriver:ExecuteScript",{"args":["geo.wifi.scan",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,42,null,{"value":null}] >> 30:[0,43,"Marionette:GetContext"] << 30:[1,43,null,{"value":"chrome"}] >> 50:[0,44,"Marionette:SetContext",{"value":"content"}] << 26:[1,44,null,{"value":null}] >> 30:[0,45,"Marionette:GetContext"] << 31:[1,45,null,{"value":"content"}] >> 49:[0,46,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,46,null,{"value":null}] >> 827:[0,47,"WebDriver:ExecuteScript",{"args":["permissions.default.geo",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,47,null,{"value":null}] >> 30:[0,48,"Marionette:GetContext"] << 30:[1,48,null,{"value":"chrome"}] >> 50:[0,49,"Marionette:SetContext",{"value":"content"}] << 26:[1,49,null,{"value":null}] >> 30:[0,50,"Marionette:GetContext"] << 31:[1,50,null,{"value":"content"}] >> 49:[0,51,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,51,null,{"value":null}] >> 889:[0,52,"WebDriver:ExecuteScript",{"args":["geo.provider.network.url","data:application/json,{\"location\":{\"lng\":24,\"lat\":40}}"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,52,null,{"value":null}] >> 30:[0,53,"Marionette:GetContext"] << 30:[1,53,null,{"value":"chrome"}] >> 50:[0,54,"Marionette:SetContext",{"value":"content"}] << 26:[1,54,null,{"value":null}] >> 30:[0,55,"Marionette:GetContext"] << 31:[1,55,null,{"value":"content"}] >> 49:[0,56,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,56,null,{"value":null}] >> 877:[0,57,"WebDriver:ExecuteScript",{"args":["geo.wifi.uri","data:application/json,{\"location\":{\"lat\":40,\"lng\":24}}"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 26:[1,57,null,{"value":null}] >> 30:[0,58,"Marionette:GetContext"] << 30:[1,58,null,{"value":"chrome"}] >> 50:[0,59,"Marionette:SetContext",{"value":"content"}] << 26:[1,59,null,{"value":null}] >> 34:[0,60,"WebDriver:GetCapabilities"] << 899:[1,60,null,{"value":{"capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","proxy":{"proxyType":"pac","proxyAutoconfigUrl":"http://localhost:54843"},"unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2823475,"moz:profile":"/tmp/firefox_marionette_local_KxiKNYM_eeA/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":65432,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"proxy":{"proxyAutoconfigUrl":"http://localhost:54843","proxyType":"pac"}}}}}}] >> 173:[0,61,"WebDriver:Navigate",{"sessionId":"2600e55e-cfb9-4562-8f8f-8686d9ea6ebe","url":"file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/elements.html"}] << 26:[1,61,null,{"value":null}] >> 862:[0,62,"WebDriver:ExecuteScript",{"script":"return (async function() { function getGeo() { return new Promise((resolve, reject) => { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(resolve, reject, { maximumAge: 0, enableHighAccuracy: true }); } else { reject(\"navigator.geolocation is unavailable\"); } }) }; return await getGeo().then((response) => { let d = new Date(); return { \"timezone_offset\": d.getTimezoneOffset(), \"latitude\": response[\"coords\"][\"latitude\"], \"longitude\": response[\"coords\"][\"longitude\"], \"altitude\": response[\"coords\"][\"altitude\"], \"accuracy\": response[\"coords\"][\"accuracy\"], \"altitudeAccuracy\": response[\"coords\"][\"altitudeAccuracy\"], \"heading\": response[\"coords\"][\"heading\"], \"speed\": response[\"coords\"][\"speed\"], }; }).catch((err) => { throw err.message }); })(); "}] << 155:[1,62,null,{"value":{"timezone_offset":720,"latitude":40,"longitude":24,"altitude":null,"accuracy":0,"altitudeAccuracy":null,"heading":null,"speed":null}}] >> 51:[0,63,"Marionette:Quit",{"flags":["eAttemptQuit"]}] << 61:[1,63,null,{"cause":"shutdown","forced":false,"in_app":true}] ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value # Starting new firefox for testing proxies again using default proxy port TCP/3128 # Starting new firefox for testing PDFs and script elements # Testing has been running for 72 seconds at t/01-marionette.t line 1579 ** firefox --version ** firefox -marionette -remote-allow-system-access -headless -profile /tmp/firefox_marionette_local_IGTxVYygG8L/profile --no-remote --new-instance [2828316] Sandbox: CanCreateUserNamespace() clone() failure: EPERM *** You are running in headless mode. << 50:{"applicationType":"gecko","marionetteProtocol":3} >> 126:[0,1,"WebDriver:NewSession",{"acceptInsecureCerts":true,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true}}}] << 829:[1,1,null,{"sessionId":"cb755557-4f0f-4977-951b-b0d4da367652","capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2828316,"moz:profile":"/tmp/firefox_marionette_local_IGTxVYygG8L/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true}},"proxy":{}}}] >> 29:[0,2,"Marionette:GetContext"] << 30:[1,2,null,{"value":"content"}] >> 48:[0,3,"Marionette:SetContext",{"value":"chrome"}] << 25:[1,3,null,{"value":null}] >> 2299:[0,4,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"toolbar_____"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 25:[1,4,null,{"value":null}] >> 29:[0,5,"Marionette:GetContext"] << 29:[1,5,null,{"value":"chrome"}] >> 49:[0,6,"Marionette:SetContext",{"value":"content"}] << 25:[1,6,null,{"value":null}] >> 29:[0,7,"Marionette:GetContext"] << 30:[1,7,null,{"value":"content"}] >> 48:[0,8,"Marionette:SetContext",{"value":"chrome"}] << 25:[1,8,null,{"value":null}] >> 2299:[0,9,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 25:[1,9,null,{"value":null}] >> 30:[0,10,"Marionette:GetContext"] << 30:[1,10,null,{"value":"chrome"}] >> 50:[0,11,"Marionette:SetContext",{"value":"content"}] << 26:[1,11,null,{"value":null}] >> 30:[0,12,"Marionette:GetContext"] << 31:[1,12,null,{"value":"content"}] >> 49:[0,13,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,13,null,{"value":null}] >> 2300:[0,14,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"0VTsY1xbiZXQ"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,14,null,{"value":null}] >> 30:[0,15,"Marionette:GetContext"] << 30:[1,15,null,{"value":"chrome"}] >> 50:[0,16,"Marionette:SetContext",{"value":"content"}] << 26:[1,16,null,{"value":null}] >> 30:[0,17,"Marionette:GetContext"] << 31:[1,17,null,{"value":"content"}] >> 49:[0,18,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,18,null,{"value":null}] >> 2300:[0,19,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"0VTsY1xbiZXQ"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,19,null,{"value":null}] >> 30:[0,20,"Marionette:GetContext"] << 30:[1,20,null,{"value":"chrome"}] >> 50:[0,21,"Marionette:SetContext",{"value":"content"}] << 26:[1,21,null,{"value":null}] >> 30:[0,22,"Marionette:GetContext"] << 31:[1,22,null,{"value":"content"}] >> 49:[0,23,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,23,null,{"value":null}] >> 2300:[0,24,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,24,null,{"value":null}] >> 30:[0,25,"Marionette:GetContext"] << 30:[1,25,null,{"value":"chrome"}] >> 50:[0,26,"Marionette:SetContext",{"value":"content"}] << 26:[1,26,null,{"value":null}] >> 30:[0,27,"Marionette:GetContext"] << 31:[1,27,null,{"value":"content"}] >> 49:[0,28,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,28,null,{"value":null}] >> 2300:[0,29,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"-mIj4pw4TTXz"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,29,null,{"value":null}] >> 30:[0,30,"Marionette:GetContext"] << 30:[1,30,null,{"value":"chrome"}] >> 50:[0,31,"Marionette:SetContext",{"value":"content"}] << 26:[1,31,null,{"value":null}] >> 30:[0,32,"Marionette:GetContext"] << 31:[1,32,null,{"value":"content"}] >> 49:[0,33,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,33,null,{"value":null}] >> 2300:[0,34,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,34,null,{"value":null}] >> 30:[0,35,"Marionette:GetContext"] << 30:[1,35,null,{"value":"chrome"}] >> 50:[0,36,"Marionette:SetContext",{"value":"content"}] << 26:[1,36,null,{"value":null}] >> 30:[0,37,"Marionette:GetContext"] << 31:[1,37,null,{"value":"content"}] >> 49:[0,38,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,38,null,{"value":null}] >> 2300:[0,39,"WebDriver:ExecuteScript",{"args":[{"index":0,"parentGuid":"menu________"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,39,null,{"value":null}] >> 30:[0,40,"Marionette:GetContext"] << 30:[1,40,null,{"value":"chrome"}] >> 50:[0,41,"Marionette:SetContext",{"value":"content"}] << 26:[1,41,null,{"value":null}] >> 30:[0,42,"Marionette:GetContext"] << 31:[1,42,null,{"value":"content"}] >> 49:[0,43,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,43,null,{"value":null}] >> 2275:[0,44,"WebDriver:ExecuteScript",{"args":["root________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 139:[1,44,null,{"value":{"guid":"root________","index":0,"type":2,"title":"","dateAdded":1763498173,"lastModified":1763498173,"childCount":5}}] >> 30:[0,45,"Marionette:GetContext"] << 30:[1,45,null,{"value":"chrome"}] >> 50:[0,46,"Marionette:SetContext",{"value":"content"}] << 26:[1,46,null,{"value":null}] >> 30:[0,47,"Marionette:GetContext"] << 31:[1,47,null,{"value":"content"}] >> 49:[0,48,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,48,null,{"value":null}] >> 2275:[0,49,"WebDriver:ExecuteScript",{"args":["toolbar_____"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 174:[1,49,null,{"value":{"guid":"toolbar_____","index":1,"type":2,"title":"toolbar","dateAdded":1763498173,"lastModified":1763498174,"parentGuid":"root________","childCount":0}}] >> 30:[0,50,"Marionette:GetContext"] << 30:[1,50,null,{"value":"chrome"}] >> 50:[0,51,"Marionette:SetContext",{"value":"content"}] << 26:[1,51,null,{"value":null}] >> 30:[0,52,"Marionette:GetContext"] << 31:[1,52,null,{"value":"content"}] >> 49:[0,53,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,53,null,{"value":null}] >> 2275:[0,54,"WebDriver:ExecuteScript",{"args":["Kv8Nf_sIb28X"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,54,null,{"value":null}] >> 30:[0,55,"Marionette:GetContext"] << 30:[1,55,null,{"value":"chrome"}] >> 50:[0,56,"Marionette:SetContext",{"value":"content"}] << 26:[1,56,null,{"value":null}] >> 30:[0,57,"Marionette:GetContext"] << 31:[1,57,null,{"value":"content"}] >> 49:[0,58,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,58,null,{"value":null}] >> 3030:[0,59,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686363942,"guid":"Kv8Nf_sIb28X","parentGuid":"toolbar_____","title":"PAUSE: The CPAN back stage entrance","type":1,"url":"https://pause.perl.org/pause/query"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 262:[1,59,null,{"value":{"dateAdded":"2023-06-10T02:25:42.000Z","guid":"Kv8Nf_sIb28X","parentGuid":"toolbar_____","title":"PAUSE: The CPAN back stage entrance","type":1,"url":"https://pause.perl.org/pause/query","index":0,"lastModified":"2023-06-10T02:25:42.000Z"}}] >> 30:[0,60,"Marionette:GetContext"] << 30:[1,60,null,{"value":"chrome"}] >> 50:[0,61,"Marionette:SetContext",{"value":"content"}] << 26:[1,61,null,{"value":null}] >> 30:[0,62,"Marionette:GetContext"] << 31:[1,62,null,{"value":"content"}] >> 49:[0,63,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,63,null,{"value":null}] >> 2275:[0,64,"WebDriver:ExecuteScript",{"args":["menu________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 171:[1,64,null,{"value":{"guid":"menu________","index":0,"type":2,"title":"menu","dateAdded":1763498173,"lastModified":1763498174,"parentGuid":"root________","childCount":0}}] >> 30:[0,65,"Marionette:GetContext"] << 30:[1,65,null,{"value":"chrome"}] >> 50:[0,66,"Marionette:SetContext",{"value":"content"}] << 26:[1,66,null,{"value":null}] >> 30:[0,67,"Marionette:GetContext"] << 31:[1,67,null,{"value":"content"}] >> 49:[0,68,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,68,null,{"value":null}] >> 2275:[0,69,"WebDriver:ExecuteScript",{"args":["0VTsY1xbiZXQ"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,69,null,{"value":null}] >> 30:[0,70,"Marionette:GetContext"] << 30:[1,70,null,{"value":"chrome"}] >> 50:[0,71,"Marionette:SetContext",{"value":"content"}] << 26:[1,71,null,{"value":null}] >> 30:[0,72,"Marionette:GetContext"] << 31:[1,72,null,{"value":"content"}] >> 49:[0,73,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,73,null,{"value":null}] >> 2956:[0,74,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686364609,"guid":"0VTsY1xbiZXQ","parentGuid":"menu________","title":"CPAN","type":2}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 188:[1,74,null,{"value":{"dateAdded":"2023-06-10T02:36:49.000Z","guid":"0VTsY1xbiZXQ","parentGuid":"menu________","title":"CPAN","type":2,"index":0,"lastModified":"2023-06-10T02:36:49.000Z"}}] >> 30:[0,75,"Marionette:GetContext"] << 30:[1,75,null,{"value":"chrome"}] >> 50:[0,76,"Marionette:SetContext",{"value":"content"}] << 26:[1,76,null,{"value":null}] >> 30:[0,77,"Marionette:GetContext"] << 31:[1,77,null,{"value":"content"}] >> 49:[0,78,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,78,null,{"value":null}] >> 2275:[0,79,"WebDriver:ExecuteScript",{"args":["Ghvgbgv8AtaT"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,79,null,{"value":null}] >> 30:[0,80,"Marionette:GetContext"] << 30:[1,80,null,{"value":"chrome"}] >> 50:[0,81,"Marionette:SetContext",{"value":"content"}] << 26:[1,81,null,{"value":null}] >> 30:[0,82,"Marionette:GetContext"] << 31:[1,82,null,{"value":"content"}] >> 49:[0,83,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,83,null,{"value":null}] >> 4135:[0,84,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685610972,"guid":"Ghvgbgv8AtaT","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC","parentGuid":"0VTsY1xbiZXQ","title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/pod/Firefox::Marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 331:[1,84,null,{"value":{"dateAdded":"2023-06-01T09:16:12.000Z","guid":"Ghvgbgv8AtaT","parentGuid":"0VTsY1xbiZXQ","title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/pod/Firefox::Marionette","index":0,"lastModified":"2023-06-01T09:16:12.000Z"}}] >> 30:[0,85,"Marionette:GetContext"] << 30:[1,85,null,{"value":"chrome"}] >> 50:[0,86,"Marionette:SetContext",{"value":"content"}] << 26:[1,86,null,{"value":null}] >> 30:[0,87,"Marionette:GetContext"] << 31:[1,87,null,{"value":"content"}] >> 49:[0,88,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,88,null,{"value":null}] >> 2275:[0,89,"WebDriver:ExecuteScript",{"args":["liZ2U8jJ0q9x"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 26:[1,89,null,{"value":null}] >> 30:[0,90,"Marionette:GetContext"] << 30:[1,90,null,{"value":"chrome"}] >> 50:[0,91,"Marionette:SetContext",{"value":"content"}] << 26:[1,91,null,{"value":null}] >> 30:[0,92,"Marionette:GetContext"] << 31:[1,92,null,{"value":"content"}] >> 49:[0,93,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,93,null,{"value":null}] >> 4153:[0,94,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685672252,"guid":"liZ2U8jJ0q9x","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC","parentGuid":"0VTsY1xbiZXQ","title":"Firefox-Marionette-1.38 - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/release/DDICK/Firefox-Marionette-1.38"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 349:[1,94,null,{"value":{"dateAdded":"2023-06-02T02:17:32.000Z","guid":"liZ2U8jJ0q9x","parentGuid":"0VTsY1xbiZXQ","title":"Firefox-Marionette-1.38 - Automate the Firefox browser with the Marionette protocol - metacpan.org","type":1,"url":"https://metacpan.org/release/DDICK/Firefox-Marionette-1.38","index":1,"lastModified":"2023-06-02T02:17:32.000Z"}}] >> 30:[0,95,"Marionette:GetContext"] << 30:[1,95,null,{"value":"chrome"}] >> 50:[0,96,"Marionette:SetContext",{"value":"content"}] << 26:[1,96,null,{"value":null}] >> 30:[0,97,"Marionette:GetContext"] << 31:[1,97,null,{"value":"content"}] >> 49:[0,98,"Marionette:SetContext",{"value":"chrome"}] << 26:[1,98,null,{"value":null}] >> 2275:[0,99,"WebDriver:ExecuteScript",{"args":["menu________"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 171:[1,99,null,{"value":{"guid":"menu________","index":0,"type":2,"title":"menu","dateAdded":1763498173,"lastModified":1685672252,"parentGuid":"root________","childCount":1}}] >> 31:[0,100,"Marionette:GetContext"] << 31:[1,100,null,{"value":"chrome"}] >> 51:[0,101,"Marionette:SetContext",{"value":"content"}] << 27:[1,101,null,{"value":null}] >> 31:[0,102,"Marionette:GetContext"] << 32:[1,102,null,{"value":"content"}] >> 50:[0,103,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,103,null,{"value":null}] >> 2276:[0,104,"WebDriver:ExecuteScript",{"args":["-mIj4pw4TTXz"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,104,null,{"value":null}] >> 31:[0,105,"Marionette:GetContext"] << 31:[1,105,null,{"value":"chrome"}] >> 51:[0,106,"Marionette:SetContext",{"value":"content"}] << 27:[1,106,null,{"value":null}] >> 31:[0,107,"Marionette:GetContext"] << 32:[1,107,null,{"value":"content"}] >> 50:[0,108,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,108,null,{"value":null}] >> 2961:[0,109,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686364609,"guid":"-mIj4pw4TTXz","parentGuid":"menu________","title":"Searches","type":2}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 193:[1,109,null,{"value":{"dateAdded":"2023-06-10T02:36:49.000Z","guid":"-mIj4pw4TTXz","parentGuid":"menu________","title":"Searches","type":2,"index":1,"lastModified":"2023-06-10T02:36:49.000Z"}}] >> 31:[0,110,"Marionette:GetContext"] << 31:[1,110,null,{"value":"chrome"}] >> 51:[0,111,"Marionette:SetContext",{"value":"content"}] << 27:[1,111,null,{"value":null}] >> 31:[0,112,"Marionette:GetContext"] << 32:[1,112,null,{"value":"content"}] >> 50:[0,113,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,113,null,{"value":null}] >> 2276:[0,114,"WebDriver:ExecuteScript",{"args":["bxZZ2UfInEQn"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,114,null,{"value":null}] >> 31:[0,115,"Marionette:GetContext"] << 31:[1,115,null,{"value":"chrome"}] >> 51:[0,116,"Marionette:SetContext",{"value":"content"}] << 27:[1,116,null,{"value":null}] >> 31:[0,117,"Marionette:GetContext"] << 32:[1,117,null,{"value":"content"}] >> 50:[0,118,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,118,null,{"value":null}] >> 4273:[0,119,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1685670771,"guid":"bxZZ2UfInEQn","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADQklEQVQ4jaWTT0xbdQDHP+9f+17/UGAtBQIkmywDVERnZoJmISaCMcAyN5w4EndQY3bw5ElRSdBwWswOxh3mdIkeAJ0kbstwZMkuiH9QMgfbCDB0UrLSFvra0vb1vffzYDTj7Of2vXxO3w/8T6QHx3Lf/pDQPIeKknLCk88/rRVLnoKuZ12f54ZXckaMTetazXezeQnEDoEA6e7hA61SuWc4UL+vR3/hOPreR5EcB8cu4mxtYU2Nk57/YdLeMt/b0/zzrDSE+59g5diBx5RdkcnwoRNRpWk/pdgS29cukhkbQ44ECb70BsHn+2B9hY0vT6ey68s9zV/fnAaQ73Z06GrIN1w18FbUUQxiAx3YsWUq3jlN7blvUMNVmKNn+Ku/HSuTJdL3eqU/XDO00rs7CiA7dXZHoPmpHrm+ifi7r6F392O8+CYaYDzRTnjkLJ6mFggFiQ+fxAk3ENrd/Bz+SM9YH4pcRAx6u/rJTI6i1DSgvHySW4sJkps5XAHznkaSRj2qUBGKQebKKNqzR5CCwd6H51sUWcpbbWp5Jeb4ZyihcuRQGNPcJp6ykCWIxZMUaqvwP+JDb9Ip/ngVbXczsqweLAuZimoUC37FF8COJ5Cr6/FkU7S1VKPZ93BXx+mVHPKNf2KVu4gNjfQvy+AKVJnQetiV1JLmKQnhat59e7FzJvn5GaKdRyFzG2fpbVLTVTjCh1ypkZsTyKEIrrVNSYg1KyELueT3Thfu3EB/pgt3M4F989d/HuJrxwmPgDeAYWg4MQl3yyR45FXI5RC2WIhs6K6sCvfz4uWvKOvqR8pkcBbvYAEoFXjKDiP9HuHStmB13UFO5gl2HsW+fgGlWPikcWnJUtX7pYmsunjR+GOhO/rROdKnhvjtpzE+1S5jm2mSPQlWq1xGbmVoe/8MpNbYmJuZSpr3rjeAkB+amk27TnYw8e3Z+4qhUv3FJfy76rDtIpJu8IraznHRQdOpC0g+iJ//OGWtxT5om1hN72xh4PFW2aj4MNTyZLfUeYx8OESgMoq34JBZmMW5Mkpu5fb3bsYc3NM6t7OFf5nuqzNq9NqDlvAMirzVZhTzAUvzWiWfd0bDPW9Z5kTL+PzmgzX+DWN5abKzgxf8AAAAAElFTkSuQmCC","parentGuid":"-mIj4pw4TTXz","title":"perl \ud83d\udc2b at DuckDuckGo","type":1,"url":"https://duckduckgo.com/?va=v&t=ha&q=perl+%F0%9F%90%AB&ia=web"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 277:[1,119,null,{"value":{"dateAdded":"2023-06-02T01:52:51.000Z","guid":"bxZZ2UfInEQn","parentGuid":"-mIj4pw4TTXz","title":"perl 🐫 at DuckDuckGo","type":1,"url":"https://duckduckgo.com/?va=v&t=ha&q=perl+%F0%9F%90%AB&ia=web","index":0,"lastModified":"2023-06-02T01:52:51.000Z"}}] >> 31:[0,120,"Marionette:GetContext"] << 31:[1,120,null,{"value":"chrome"}] >> 51:[0,121,"Marionette:SetContext",{"value":"content"}] << 27:[1,121,null,{"value":null}] >> 31:[0,122,"Marionette:GetContext"] << 32:[1,122,null,{"value":"content"}] >> 50:[0,123,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,123,null,{"value":null}] >> 2276:[0,124,"WebDriver:ExecuteScript",{"args":["TmqQhbgUe0N3"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,124,null,{"value":null}] >> 31:[0,125,"Marionette:GetContext"] << 31:[1,125,null,{"value":"chrome"}] >> 51:[0,126,"Marionette:SetContext",{"value":"content"}] << 27:[1,126,null,{"value":null}] >> 31:[0,127,"Marionette:GetContext"] << 32:[1,127,null,{"value":"content"}] >> 50:[0,128,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,128,null,{"value":null}] >> 4160:[0,129,"WebDriver:ExecuteScript",{"args":[{"dateAdded":"1685611","guid":"TmqQhbgUe0N3","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACrElEQVQ4jW2SzWucVRTGf+fe9847SW2n+WioIdZkJkzGWLMsQvBjpRv1H1BcqSB166aUbgQXLkpEEGnF7ty5Edw0orULtS5DjNOZ5qvEKkMzEUuS6bz33tPFvCNj6LM653LO8/A85wpHUJmbW0QKbwMvAU8BCHpXkZshhK+2mmu3BudloC5UagsfI7wvIsOooqoKID2gqvuqfLFeX7kAdPsEBmZdea74beLcKxoj+R4iPf7BXozBZ9n1jdudN+BOZgEtV5/8pJAW3/JZ90ZU/UiF0yAnVbWpUVvAMLASo7+oUYuFQvrqiRFT2NttLctUtXouleIN62whZNm19dur7wLFiZmzpdbmahvQyWr15L2Dg312dg5n5s5+6lzhvPfZQ59lLyapce+IkSGNkSjaASzQaW2udvrh3Gs07ud2LUqmMVhrzLA4+55RNS+IqsYYO91u+AwIvVz+F3C/DkEffh5i3FdFwSwaEaYUBKT950Z9Ox+MgA4QaL+/22xuCWzl708bwGkv6mMj5XLxiPJRCJOTRYXx3pw6A9wRVRUjpZIZej5Xso+xkAB65lhp0YhM5H9k3ajqrxgD8MAm5sp0tVrLczhqwZ+ZfXbeJckSoGJEUH42MYQvUZXgw5Kq3nRu+I/KMwvLM9X5c/3tqXLtuUpt4WuXyC+CzANRo4audq/Yf9r3d0pjp0atTT7M/OGbxpg9VE5nofPNv+32HsDQ+MgTqXVXRSRV5dAmNo3eL2036tekf7JKbeEngbEY/QcKDzYba7/9Z2B6ulhJj2+LkQljLD5k1zfq8XVY8yY/WVivr7wcNf5oE/e9Mcmt0dnZE/398TR1COMi4n3wlzfqq6/BWheIdiCouLfb+u742KllVP/+q+l/gHYAONgdkdHRxIbgL202fr+aiwLwCG7VPT6fvRxuAAAAAElFTkSuQmCC","parentGuid":"menu________","title":"GitHub - david-dick/firefox-marionette: This is a client module to automate the Mozilla Firefox browser via the Marionette protocol","type":1,"url":"https://github.com/david-dick/firefox-marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 373:[1,129,null,{"value":{"dateAdded":"1970-01-20T12:13:31.000Z","guid":"TmqQhbgUe0N3","parentGuid":"menu________","title":"GitHub - david-dick/firefox-marionette: This is a client module to automate the Mozilla Firefox browser via the Marionette protocol","type":1,"url":"https://github.com/david-dick/firefox-marionette","index":2,"lastModified":"1970-01-20T12:13:31.000Z"}}] >> 31:[0,130,"Marionette:GetContext"] << 31:[1,130,null,{"value":"chrome"}] >> 51:[0,131,"Marionette:SetContext",{"value":"content"}] << 27:[1,131,null,{"value":null}] >> 31:[0,132,"Marionette:GetContext"] << 32:[1,132,null,{"value":"content"}] >> 50:[0,133,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,133,null,{"value":null}] >> 2276:[0,134,"WebDriver:ExecuteScript",{"args":["oTRLhTO7d4vn"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 27:[1,134,null,{"value":null}] >> 31:[0,135,"Marionette:GetContext"] << 31:[1,135,null,{"value":"chrome"}] >> 51:[0,136,"Marionette:SetContext",{"value":"content"}] << 27:[1,136,null,{"value":null}] >> 31:[0,137,"Marionette:GetContext"] << 32:[1,137,null,{"value":"content"}] >> 50:[0,138,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,138,null,{"value":null}] >> 3015:[0,139,"WebDriver:ExecuteScript",{"args":[{"dateAdded":1686364081,"guid":"oTRLhTO7d4vn","parentGuid":"menu________","title":"PerlMonks - The Monastery Gates","type":1,"url":"https://perlmonks.org/"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); for(let name of [ \"dateAdded\", \"lastModified\" ]) { if (arguments[0][name]) { arguments[0][name] = new Date(parseInt(arguments[0][name] + \"000\", 10)); } } if (arguments[0][\"tags\"]) { let tags = arguments[0][\"tags\"]; delete arguments[0][\"tags\"]; let url = lazy.NetUtil.newURI(arguments[0][\"url\"]); taggingSvc.tagURI(url, tags); } if (arguments[0][\"keyword\"]) { let keyword = arguments[0][\"keyword\"]; delete arguments[0][\"keyword\"]; let url = arguments[0][\"url\"]; lazy.PlacesUtils.keywords.insert({ \"url\": url, \"keyword\": keyword }); } let bookmarkStatus = (async function(bookmarkArguments) { let exists = await lazy.Bookmarks.fetch({ \"guid\": bookmarkArguments[\"guid\"] }); let bookmark; if (exists) { bookmarkArguments[\"index\"] = exists[\"index\"]; bookmark = lazy.Bookmarks.update(bookmarkArguments); } else { bookmark = lazy.Bookmarks.insert(bookmarkArguments); } let result = await bookmark; if (bookmarkArguments[\"url\"]) { let iconUrl = bookmarkArguments[\"iconUrl\"]; if (!iconUrl) { iconUrl = 'fake-favicon-uri:' + bookmarkArguments[\"url\"]; } let url = lazy.NetUtil.newURI(bookmarkArguments[\"url\"]); let rIconUrl = lazy.NetUtil.newURI(iconUrl); if (bookmarkArguments[\"icon\"]) { let icon = bookmarkArguments[\"icon\"]; if (lazy.PlacesUtils.favicons.setFaviconForPage) { let iconDataUrl = lazy.NetUtil.newURI(icon); lazy.PlacesUtils.favicons.setFaviconForPage( url, rIconUrl, iconDataUrl ); } else { lazy.PlacesUtils.favicons.replaceFaviconDataFromDataURL( rIconUrl, icon ); let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, false, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } else { if (lazy.PlacesUtils.favicons.setFaviconForPage) { } else if (lazy.PlacesUtils.favicons.setAndFetchFaviconForPage) { let iconResult = lazy.PlacesUtils.favicons.setAndFetchFaviconForPage( url, rIconUrl, true, lazy.PlacesUtils.favicons.FAVICON_LOAD_NON_PRIVATE, null, Services.scriptSecurityManager.getSystemPrincipal() ); } } } return bookmark; })(arguments[0]); return bookmarkStatus; "}] << 247:[1,139,null,{"value":{"dateAdded":"2023-06-10T02:28:01.000Z","guid":"oTRLhTO7d4vn","parentGuid":"menu________","title":"PerlMonks - The Monastery Gates","type":1,"url":"https://perlmonks.org/","index":3,"lastModified":"2023-06-10T02:28:01.000Z"}}] >> 31:[0,140,"Marionette:GetContext"] << 31:[1,140,null,{"value":"chrome"}] >> 51:[0,141,"Marionette:SetContext",{"value":"content"}] << 27:[1,141,null,{"value":null}] >> 73:[0,142,"WebDriver:ExecuteScript",{"script":"return navigator.userAgent"}] << 95:[1,142,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"}] >> 121:[0,143,"Addon:Install",{"path":"/tmp/firefox_marionette_local_IGTxVYygG8L/extension/stealth-0.0.1.xpi","temporary":true}] << 81:[1,143,null,{"value":"2ab827c66a037310e191c87e2fbd24a8ab2cebe2@temporary-addon"}] >> 1173:[0,144,"WebDriver:ExecuteScript",{"script":"{ if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loading Firefox::Marionette::Extension::Stealth\"); } let navProto = Object.getPrototypeOf(window.navigator); let winProto = Object.getPrototypeOf(window); let fm_def_2 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return false } else { throw TypeError(decodeURIComponent(\\x27%27get webdriver%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_2.toString = function fm_def() { return \"function webdriver() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(navProto, \"webdriver\", {get: fm_def_2, enumerable: false, configurable: true}); console.clear = function() { console.log(\"Firefox::Marionette::Extension::Stealth blocked an attempt at clearing the console...\") }; console.clear.toString = function clear_def() { return \"function clear() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; let getUserMedia = navProto.mozGetUserMedia; if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loaded Firefox::Marionette::Extension::Stealth\"); } } "}] << 27:[1,144,null,{"value":null}] >> 181:[0,145,"WebAuthn:AddVirtualAuthenticator",{"hasResidentKey":true,"hasUserVerification":true,"isUserConsenting":true,"isUserVerified":true,"protocol":"ctap2","transport":"internal"}] << 68:[1,145,null,{"value":"fbS6I6ZDmn987bsNpzocC4EtbNAHc4GsIi19QB2I_l4"}] >> 31:[0,146,"Marionette:GetContext"] << 32:[1,146,null,{"value":"content"}] >> 50:[0,147,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,147,null,{"value":null}] >> 816:[0,148,"WebDriver:ExecuteScript",{"args":["geo.enabled",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,148,null,{"value":null}] >> 31:[0,149,"Marionette:GetContext"] << 31:[1,149,null,{"value":"chrome"}] >> 51:[0,150,"Marionette:SetContext",{"value":"content"}] << 27:[1,150,null,{"value":null}] >> 31:[0,151,"Marionette:GetContext"] << 32:[1,151,null,{"value":"content"}] >> 50:[0,152,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,152,null,{"value":null}] >> 829:[0,153,"WebDriver:ExecuteScript",{"args":["geo.provider.use_geoclue",0],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,153,null,{"value":null}] >> 31:[0,154,"Marionette:GetContext"] << 31:[1,154,null,{"value":"chrome"}] >> 51:[0,155,"Marionette:SetContext",{"value":"content"}] << 27:[1,155,null,{"value":null}] >> 31:[0,156,"Marionette:GetContext"] << 32:[1,156,null,{"value":"content"}] >> 50:[0,157,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,157,null,{"value":null}] >> 834:[0,158,"WebDriver:ExecuteScript",{"args":["geo.provider.use_corelocation",0],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,158,null,{"value":null}] >> 31:[0,159,"Marionette:GetContext"] << 31:[1,159,null,{"value":"chrome"}] >> 51:[0,160,"Marionette:SetContext",{"value":"content"}] << 27:[1,160,null,{"value":null}] >> 31:[0,161,"Marionette:GetContext"] << 32:[1,161,null,{"value":"content"}] >> 50:[0,162,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,162,null,{"value":null}] >> 825:[0,163,"WebDriver:ExecuteScript",{"args":["geo.provider.testing",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,163,null,{"value":null}] >> 31:[0,164,"Marionette:GetContext"] << 31:[1,164,null,{"value":"chrome"}] >> 51:[0,165,"Marionette:SetContext",{"value":"content"}] << 27:[1,165,null,{"value":null}] >> 31:[0,166,"Marionette:GetContext"] << 32:[1,166,null,{"value":"content"}] >> 50:[0,167,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,167,null,{"value":null}] >> 823:[0,168,"WebDriver:ExecuteScript",{"args":["geo.prompt.testing",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,168,null,{"value":null}] >> 31:[0,169,"Marionette:GetContext"] << 31:[1,169,null,{"value":"chrome"}] >> 51:[0,170,"Marionette:SetContext",{"value":"content"}] << 27:[1,170,null,{"value":null}] >> 31:[0,171,"Marionette:GetContext"] << 32:[1,171,null,{"value":"content"}] >> 50:[0,172,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,172,null,{"value":null}] >> 829:[0,173,"WebDriver:ExecuteScript",{"args":["geo.prompt.testing.allow",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,173,null,{"value":null}] >> 31:[0,174,"Marionette:GetContext"] << 31:[1,174,null,{"value":"chrome"}] >> 51:[0,175,"Marionette:SetContext",{"value":"content"}] << 27:[1,175,null,{"value":null}] >> 31:[0,176,"Marionette:GetContext"] << 32:[1,176,null,{"value":"content"}] >> 50:[0,177,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,177,null,{"value":null}] >> 831:[0,178,"WebDriver:ExecuteScript",{"args":["geo.security.allowinsecure",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,178,null,{"value":null}] >> 31:[0,179,"Marionette:GetContext"] << 31:[1,179,null,{"value":"chrome"}] >> 51:[0,180,"Marionette:SetContext",{"value":"content"}] << 27:[1,180,null,{"value":null}] >> 31:[0,181,"Marionette:GetContext"] << 32:[1,181,null,{"value":"content"}] >> 50:[0,182,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,182,null,{"value":null}] >> 818:[0,183,"WebDriver:ExecuteScript",{"args":["geo.wifi.scan",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,183,null,{"value":null}] >> 31:[0,184,"Marionette:GetContext"] << 31:[1,184,null,{"value":"chrome"}] >> 51:[0,185,"Marionette:SetContext",{"value":"content"}] << 27:[1,185,null,{"value":null}] >> 31:[0,186,"Marionette:GetContext"] << 32:[1,186,null,{"value":"content"}] >> 50:[0,187,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,187,null,{"value":null}] >> 828:[0,188,"WebDriver:ExecuteScript",{"args":["permissions.default.geo",1],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,188,null,{"value":null}] >> 31:[0,189,"Marionette:GetContext"] << 31:[1,189,null,{"value":"chrome"}] >> 51:[0,190,"Marionette:SetContext",{"value":"content"}] << 27:[1,190,null,{"value":null}] >> 178:[0,191,"WebDriver:ExecuteScript",{"script":"let c = document.createElement('canvas'); return c.getContext('webgl2') ? true : c.getContext('experimental-webgl') ? true : false;"}] << 27:[1,191,null,{"value":true}] # WebGL is enabled by default when visible and addons are turned off >> 31:[0,192,"Marionette:GetContext"] << 32:[1,192,null,{"value":"content"}] >> 50:[0,193,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,193,null,{"value":null}] >> 839:[0,194,"WebDriver:ExecuteScript",{"args":[{"url":"https://metacpan.org/pod/Firefox::Marionette"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return lazy.Bookmarks.search(arguments[0]); "}] << 334:[1,194,null,{"value":[{"guid":"Ghvgbgv8AtaT","index":0,"type":1,"title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","dateAdded":"2023-06-01T09:16:12.000Z","lastModified":"2023-06-01T09:16:12.000Z","parentGuid":"0VTsY1xbiZXQ","url":"https://metacpan.org/pod/Firefox::Marionette"}]}] >> 31:[0,195,"Marionette:GetContext"] << 31:[1,195,null,{"value":"chrome"}] >> 50:[0,196,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,196,null,{"value":null}] >> 2276:[0,197,"WebDriver:ExecuteScript",{"args":["Ghvgbgv8AtaT"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 1420:[1,197,null,{"value":{"guid":"Ghvgbgv8AtaT","index":0,"type":1,"title":"Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org","dateAdded":1685610972,"lastModified":1685610972,"parentGuid":"0VTsY1xbiZXQ","url":"https://metacpan.org/pod/Firefox::Marionette","tags":[],"iconUrl":"fake-favicon-uri:https://metacpan.org/pod/Firefox::Marionette","icon":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACuElEQVQ4jW2Tz2tcVRTHP+fc915nJiEa6UqkmUnptkwoQp2UWKGF6iq4EEFw40ZcuBKRLuoUKYLQP6DgtpsK6rIFEUogiQxMaghuLDo4LhKCSROTycx9997johkYod/VWXzPj+/3nCNt0Dakx3MXG4WxZJrttHrdhwBt0C/BBAxgpd68qmiDGDqL/c0tQARgtbHwkRP9tqKKAINQru1lRzfeefr0EMBAfqlf+r6a6TJAMKNM8dblPze+ksdzFxsVl/8hCNGSB9JsVlSejUb3Lv+18THA+vzCF7PuzNd7wY9Ou+Y15+TYl1e0MJYqqkRLXkQKsPzfGDDVN9ugAClxfWABMCcihUEJgHJNTbMdAYBklqIgZaaCEPfbkABMZNchgJSYJbDgUBTd1lav+3AQyrXZrKhk4twZ5yoZSoJvGCOkuz4ZNeeqTlRfyoraQfS9wfHwvgN49+z0d+LdKwmZjin8Pkrx01bvyY9t0E9A3z7c/vvD6bM/R5W6RfNDyp8o7f2l7a1/GOscr+1FsU3ED8D9j2MgvACTxMkCkzCQTMDaoDfmFz5PiesmsktIdxf7TzrjRIG0Pt+8EJPeVGVOkq0fnMQ7srN5LADr9Us/zOb58sACGcIoGcPSL13pb648v4PmBTP5dcYV1ZFFapqxX/pOv9d9Q1fqzavVTJf3gh8NYwxHMZzkKrg8uz0eNSa9OeOK6mH0A59i2A+jk5k8f/21cwsfqKKNU56IaAZS+GRI5NWxDyJWH1lEoABxIC5aQpXzSgydYIZAbmYebDTlHObixnsQAdRYq2lGhNKgFEwUJSGrutjf3CpTvFVzTqacK2ZcUXsWfM88n40lHJzEO/ul77ycFdUp54ppV+RH3t9r9bqP5LnJ2Nq55iLKNUW3B8fD+2/t/nY0+c4PwJ1qPp+Q1Vav+wjgPzwESZU81nd+AAAAAElFTkSuQmCC"}}] >> 31:[0,198,"Marionette:GetContext"] << 31:[1,198,null,{"value":"chrome"}] >> 50:[0,199,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,199,null,{"value":null}] >> 31:[0,200,"Marionette:GetContext"] << 31:[1,200,null,{"value":"chrome"}] >> 51:[0,201,"Marionette:SetContext",{"value":"content"}] << 27:[1,201,null,{"value":null}] >> 31:[0,202,"Marionette:GetContext"] << 32:[1,202,null,{"value":"content"}] >> 50:[0,203,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,203,null,{"value":null}] >> 817:[0,204,"WebDriver:ExecuteScript",{"args":[{"url":"https://perlmonks.org/"}],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return lazy.Bookmarks.search(arguments[0]); "}] << 249:[1,204,null,{"value":[{"guid":"oTRLhTO7d4vn","index":3,"type":1,"title":"PerlMonks - The Monastery Gates","dateAdded":"2023-06-10T02:28:01.000Z","lastModified":"2023-06-10T02:28:01.000Z","parentGuid":"menu________","url":"https://perlmonks.org/"}]}] >> 31:[0,205,"Marionette:GetContext"] << 31:[1,205,null,{"value":"chrome"}] >> 50:[0,206,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,206,null,{"value":null}] >> 2276:[0,207,"WebDriver:ExecuteScript",{"args":["oTRLhTO7d4vn"],"script":"let lazy = {}; if (ChromeUtils.defineESModuleGetters) { ChromeUtils.defineESModuleGetters(lazy, { Bookmarks: \"resource://gre/modules/Bookmarks.sys.mjs\", PlacesUtils: \"resource://gre/modules/PlacesUtils.sys.mjs\", NetUtil: \"resource://gre/modules/NetUtil.sys.mjs\", }); } else { lazy.Bookmarks = ChromeUtils.import(\"resource://gre/modules/Bookmarks.jsm\").Bookmarks; lazy.PlacesUtils = ChromeUtils.import(\"resource://gre/modules/PlacesUtils.jsm\").PlacesUtils; lazy.NetUtil = ChromeUtils.import(\"resource://gre/modules/NetUtil.jsm\").NetUtil; } let taggingSvc = Components.classes[\"@mozilla.org/browser/tagging-service;1\"].getService(Components.interfaces.nsITaggingService); return (async function(guidOrInfo) { let bookmark = await lazy.Bookmarks.fetch(guidOrInfo); if (bookmark) { for(let name of [ \"dateAdded\", \"lastModified\" ]) { bookmark[name] = Math.floor(bookmark[name] / 1000); } } if ((bookmark) && (\"url\" in bookmark)) { let keyword = await lazy.PlacesUtils.keywords.fetch({ \"url\": bookmark[\"url\"] }); if (keyword) { bookmark[\"keyword\"] = keyword[\"keyword\"]; } let url = lazy.NetUtil.newURI(bookmark[\"url\"]); bookmark[\"tags\"] = await lazy.PlacesUtils.tagging.getTagsForURI(url); let serviceResult; if (lazy.PlacesUtils.favicons.getFaviconForPage) { serviceResult = await PlacesUtils.favicons.getFaviconForPage(url, 0); } let addFavicon = function(pageUrl) { return new Promise((resolve, reject) => { if (PlacesUtils.favicons.getFaviconForPage) { if (serviceResult === null ) { resolve([]); } else { resolve([ serviceResult.uri, serviceResult.rawData.length, serviceResult.rawData, serviceResult.mimeType, serviceResult.width ]); } } else { PlacesUtils.favicons.getFaviconDataForPage( pageUrl, function (pageUrl, dataLen, data, mimeType, size) { resolve([ pageUrl, dataLen, data, mimeType, size ]); } ); } })}; let awaitResult = await addFavicon(lazy.PlacesUtils.toURI(bookmark[\"url\"])); if (awaitResult[0]) { bookmark[\"iconUrl\"] = awaitResult[0].spec; } let iconAscii = btoa(String.fromCharCode(...new Uint8Array(awaitResult[2]))); if (iconAscii) { bookmark[\"icon\"] = \"data:\" + awaitResult[3] + \";base64,\" + iconAscii; } } return bookmark; })(arguments[0]); "}] << 225:[1,207,null,{"value":{"guid":"oTRLhTO7d4vn","index":3,"type":1,"title":"PerlMonks - The Monastery Gates","dateAdded":1686364081,"lastModified":1686364081,"parentGuid":"menu________","url":"https://perlmonks.org/","tags":[]}}] >> 31:[0,208,"Marionette:GetContext"] << 31:[1,208,null,{"value":"chrome"}] >> 50:[0,209,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,209,null,{"value":null}] >> 31:[0,210,"Marionette:GetContext"] << 31:[1,210,null,{"value":"chrome"}] >> 51:[0,211,"Marionette:SetContext",{"value":"content"}] << 27:[1,211,null,{"value":null}] >> 170:[0,212,"WebDriver:Navigate",{"sessionId":"cb755557-4f0f-4977-951b-b0d4da367652","url":"file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/aria.html"}] << 27:[1,212,null,{"value":null}] >> 62:[0,213,"WebDriver:FindElement",{"using":"id","value":"close"}] << 101:[1,213,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}}] >> 82:[0,214,"WebDriver:GetComputedLabel",{"id":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}] [Parent 2828316, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2828316): GLib-GObject-CRITICAL **: 20:36:19.574: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed [Parent 2828316, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2828316): GLib-GObject-CRITICAL **: 20:36:19.574: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed << 30:[1,214,null,{"value":"Close"}] >> 82:[0,215,"WebDriver:GetComputedLabel",{"id":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}] << 30:[1,215,null,{"value":"Close"}] >> 62:[0,216,"WebDriver:FindElement",{"using":"id","value":"close"}] << 101:[1,216,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}}] >> 82:[0,217,"WebDriver:GetComputedLabel",{"id":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}] << 30:[1,217,null,{"value":"Close"}] >> 62:[0,218,"WebDriver:FindElement",{"using":"id","value":"close"}] << 101:[1,218,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}}] >> 82:[0,219,"WebDriver:GetComputedLabel",{"id":"44d7b364-ed8a-425f-a371-d096e6bf89d2"}] << 30:[1,219,null,{"value":"Close"}] >> 61:[0,220,"WebDriver:FindElement",{"using":"id","value":"save"}] << 101:[1,220,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}}] >> 81:[0,221,"WebDriver:GetComputedRole",{"id":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}] << 31:[1,221,null,{"value":"button"}] >> 81:[0,222,"WebDriver:GetComputedRole",{"id":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}] << 31:[1,222,null,{"value":"button"}] >> 61:[0,223,"WebDriver:FindElement",{"using":"id","value":"save"}] << 101:[1,223,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}}] >> 81:[0,224,"WebDriver:GetComputedRole",{"id":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}] << 31:[1,224,null,{"value":"button"}] >> 61:[0,225,"WebDriver:FindElement",{"using":"id","value":"save"}] << 101:[1,225,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}}] >> 81:[0,226,"WebDriver:GetComputedRole",{"id":"2e4fa7ec-fb88-49f4-8bad-92b22033fdfa"}] << 31:[1,226,null,{"value":"button"}] >> 73:[0,227,"WebDriver:ExecuteScript",{"script":"return navigator.languages"}] << 37:[1,227,null,{"value":["en-US","en"]}] >> 31:[0,228,"Marionette:GetContext"] << 32:[1,228,null,{"value":"content"}] >> 50:[0,229,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,229,null,{"value":null}] >> 369:[0,230,"WebDriver:ExecuteScript",{"args":["intl.accept_languages"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); return navigator.languages || branch.getComplexValue(arguments[0], Components.interfaces.nsIPrefLocalizedString).data.split(/,\\s*/)"}] << 37:[1,230,null,{"value":["en-US","en"]}] >> 31:[0,231,"Marionette:GetContext"] << 31:[1,231,null,{"value":"chrome"}] >> 51:[0,232,"Marionette:SetContext",{"value":"content"}] << 27:[1,232,null,{"value":null}] >> 31:[0,233,"Marionette:GetContext"] << 32:[1,233,null,{"value":"content"}] >> 50:[0,234,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,234,null,{"value":null}] >> 369:[0,235,"WebDriver:ExecuteScript",{"args":["intl.accept_languages"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); return navigator.languages || branch.getComplexValue(arguments[0], Components.interfaces.nsIPrefLocalizedString).data.split(/,\\s*/)"}] << 37:[1,235,null,{"value":["en-US","en"]}] >> 31:[0,236,"Marionette:GetContext"] << 31:[1,236,null,{"value":"chrome"}] >> 51:[0,237,"Marionette:SetContext",{"value":"content"}] << 27:[1,237,null,{"value":null}] >> 31:[0,238,"Marionette:GetContext"] << 32:[1,238,null,{"value":"content"}] >> 50:[0,239,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,239,null,{"value":null}] >> 843:[0,240,"WebDriver:ExecuteScript",{"args":["intl.accept_languages","en-AU, en-GB, en"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,240,null,{"value":null}] >> 31:[0,241,"Marionette:GetContext"] << 31:[1,241,null,{"value":"chrome"}] >> 51:[0,242,"Marionette:SetContext",{"value":"content"}] << 27:[1,242,null,{"value":null}] >> 73:[0,243,"WebDriver:ExecuteScript",{"script":"return navigator.languages"}] << 45:[1,243,null,{"value":["en-AU","en-GB","en"]}] >> 31:[0,244,"Marionette:GetContext"] << 32:[1,244,null,{"value":"content"}] >> 50:[0,245,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,245,null,{"value":null}] >> 369:[0,246,"WebDriver:ExecuteScript",{"args":["intl.accept_languages"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); return navigator.languages || branch.getComplexValue(arguments[0], Components.interfaces.nsIPrefLocalizedString).data.split(/,\\s*/)"}] << 45:[1,246,null,{"value":["en-AU","en-GB","en"]}] >> 31:[0,247,"Marionette:GetContext"] << 31:[1,247,null,{"value":"chrome"}] >> 51:[0,248,"Marionette:SetContext",{"value":"content"}] << 27:[1,248,null,{"value":null}] >> 31:[0,249,"Marionette:GetContext"] << 32:[1,249,null,{"value":"content"}] >> 50:[0,250,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,250,null,{"value":null}] >> 832:[0,251,"WebDriver:ExecuteScript",{"args":["intl.accept_languages","en-GB"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,251,null,{"value":null}] >> 31:[0,252,"Marionette:GetContext"] << 31:[1,252,null,{"value":"chrome"}] >> 51:[0,253,"Marionette:SetContext",{"value":"content"}] << 27:[1,253,null,{"value":null}] >> 73:[0,254,"WebDriver:ExecuteScript",{"script":"return navigator.languages"}] << 32:[1,254,null,{"value":["en-GB"]}] >> 73:[0,255,"WebDriver:ExecuteScript",{"script":"return navigator.userAgent"}] << 95:[1,255,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"}] >> 31:[0,256,"Marionette:GetContext"] << 32:[1,256,null,{"value":"content"}] >> 50:[0,257,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,257,null,{"value":null}] >> 868:[0,258,"WebDriver:ExecuteScript",{"args":["general.useragent.override","Firefox::Marionette v1.68 test suite"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,258,null,{"value":null}] >> 31:[0,259,"Marionette:GetContext"] << 31:[1,259,null,{"value":"chrome"}] >> 51:[0,260,"Marionette:SetContext",{"value":"content"}] << 27:[1,260,null,{"value":null}] >> 31:[0,261,"Marionette:GetContext"] << 32:[1,261,null,{"value":"content"}] >> 50:[0,262,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,262,null,{"value":null}] >> 831:[0,263,"WebDriver:ExecuteScript",{"args":["general.platform.override",""],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,263,null,{"value":null}] >> 31:[0,264,"Marionette:GetContext"] << 31:[1,264,null,{"value":"chrome"}] >> 51:[0,265,"Marionette:SetContext",{"value":"content"}] << 27:[1,265,null,{"value":null}] >> 31:[0,266,"Marionette:GetContext"] << 32:[1,266,null,{"value":"content"}] >> 50:[0,267,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,267,null,{"value":null}] >> 833:[0,268,"WebDriver:ExecuteScript",{"args":["general.appversion.override",""],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,268,null,{"value":null}] >> 31:[0,269,"Marionette:GetContext"] << 31:[1,269,null,{"value":"chrome"}] >> 51:[0,270,"Marionette:SetContext",{"value":"content"}] << 27:[1,270,null,{"value":null}] >> 31:[0,271,"Marionette:GetContext"] << 32:[1,271,null,{"value":"content"}] >> 50:[0,272,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,272,null,{"value":null}] >> 828:[0,273,"WebDriver:ExecuteScript",{"args":["general.oscpu.override",""],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,273,null,{"value":null}] >> 31:[0,274,"Marionette:GetContext"] << 31:[1,274,null,{"value":"chrome"}] >> 51:[0,275,"Marionette:SetContext",{"value":"content"}] << 27:[1,275,null,{"value":null}] >> 31:[0,276,"Marionette:GetContext"] << 32:[1,276,null,{"value":"content"}] >> 50:[0,277,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,277,null,{"value":null}] >> 271:[0,278,"WebDriver:ExecuteScript",{"args":["network.http.accept"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,278,null,{"value":null}] >> 31:[0,279,"Marionette:GetContext"] << 31:[1,279,null,{"value":"chrome"}] >> 51:[0,280,"Marionette:SetContext",{"value":"content"}] << 27:[1,280,null,{"value":null}] >> 31:[0,281,"Marionette:GetContext"] << 32:[1,281,null,{"value":"content"}] >> 50:[0,282,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,282,null,{"value":null}] >> 280:[0,283,"WebDriver:ExecuteScript",{"args":["network.http.accept-encoding"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,283,null,{"value":null}] >> 31:[0,284,"Marionette:GetContext"] << 31:[1,284,null,{"value":"chrome"}] >> 51:[0,285,"Marionette:SetContext",{"value":"content"}] << 27:[1,285,null,{"value":null}] >> 31:[0,286,"Marionette:GetContext"] << 32:[1,286,null,{"value":"content"}] >> 50:[0,287,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,287,null,{"value":null}] >> 287:[0,288,"WebDriver:ExecuteScript",{"args":["network.http.accept-encoding.secure"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,288,null,{"value":null}] >> 31:[0,289,"Marionette:GetContext"] << 31:[1,289,null,{"value":"chrome"}] >> 51:[0,290,"Marionette:SetContext",{"value":"content"}] << 27:[1,290,null,{"value":null}] >> 31:[0,291,"Marionette:GetContext"] << 32:[1,291,null,{"value":"content"}] >> 50:[0,292,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,292,null,{"value":null}] >> 841:[0,293,"WebDriver:ExecuteScript",{"args":["privacy.donottrackheader.enabled",false],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,293,null,{"value":null}] >> 31:[0,294,"Marionette:GetContext"] << 31:[1,294,null,{"value":"chrome"}] >> 51:[0,295,"Marionette:SetContext",{"value":"content"}] << 27:[1,295,null,{"value":null}] >> 5951:[0,296,"WebDriver:ExecuteScript",{"script":"{ if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loading Firefox::Marionette::Extension::Stealth\"); } let navProto = Object.getPrototypeOf(window.navigator); let winProto = Object.getPrototypeOf(window); let fm_def_2 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return false } else { throw TypeError(decodeURIComponent(\\x27%27get webdriver%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_2.toString = function fm_def() { return \"function webdriver() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(navProto, \"webdriver\", {get: fm_def_2, enumerable: false, configurable: true}); console.clear = function() { console.log(\"Firefox::Marionette::Extension::Stealth blocked an attempt at clearing the console...\") }; console.clear.toString = function clear_def() { return \"function clear() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; let getUserMedia = navProto.mozGetUserMedia; let fm_def_3 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get appVersion%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_3.toString = function fm_def() { return \"function appVersion() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"appVersion\", {get: fm_def_3, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"appVersion\", {get: fm_def_3, enumerable: true, configurable: true}); let fm_def_4 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get oscpu%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_4.toString = function fm_def() { return \"function oscpu() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"oscpu\", {get: fm_def_4, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"oscpu\", {get: fm_def_4, enumerable: true, configurable: true}); let fm_def_5 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get platform%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_5.toString = function fm_def() { return \"function platform() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"platform\", {get: fm_def_5, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"platform\", {get: fm_def_5, enumerable: true, configurable: true}); let fm_def_6 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get product%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_6.toString = function fm_def() { return \"function product() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"product\", {get: fm_def_6, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"product\", {get: fm_def_6, enumerable: true, configurable: true}); let fm_def_7 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get productSub%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_7.toString = function fm_def() { return \"function productSub() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"productSub\", {get: fm_def_7, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"productSub\", {get: fm_def_7, enumerable: true, configurable: true}); let fm_def_8 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27Firefox%3A%3AMarionette%20v1.68%20test%20suite\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get userAgent%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_8.toString = function fm_def() { return \"function userAgent() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"userAgent\", {get: fm_def_8, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"userAgent\", {get: fm_def_8, enumerable: true, configurable: true}); let fm_def_9 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get vendor%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_9.toString = function fm_def() { return \"function vendor() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"vendor\", {get: fm_def_9, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"vendor\", {get: fm_def_9, enumerable: true, configurable: true}); let fm_def_10 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get vendorSub%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_10.toString = function fm_def() { return \"function vendorSub() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"vendorSub\", {get: fm_def_10, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"vendorSub\", {get: fm_def_10, enumerable: true, configurable: true}); if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loaded Firefox::Marionette::Extension::Stealth\"); } } "}] << 27:[1,296,null,{"value":null}] >> 91:[0,297,"Addon:Uninstall",{"id":"2ab827c66a037310e191c87e2fbd24a8ab2cebe2@temporary-addon"}] << 27:[1,297,null,{"value":null}] >> 121:[0,298,"Addon:Install",{"path":"/tmp/firefox_marionette_local_IGTxVYygG8L/extension/stealth-0.0.1.xpi","temporary":true}] << 81:[1,298,null,{"value":"2ab827c66a037310e191c87e2fbd24a8ab2cebe2@temporary-addon"}] >> 174:[0,299,"WebDriver:Navigate",{"sessionId":"cb755557-4f0f-4977-951b-b0d4da367652","url":"file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/elements.html"}] [Parent 2828316, Main Thread] WARNING: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed: 'glib warning', file toolkit/xre/nsSigHandlers.cpp:201 (firefox-esr:2828316): GLib-GObject-CRITICAL **: 20:36:19.945: g_type_add_interface_static: assertion 'g_type_parent (interface_type) == G_TYPE_INTERFACE' failed << 27:[1,299,null,{"value":null}] >> 73:[0,300,"WebDriver:ExecuteScript",{"script":"return navigator.userAgent"}] << 61:[1,300,null,{"value":"Firefox::Marionette v1.68 test suite"}] >> 31:[0,301,"Marionette:GetContext"] << 32:[1,301,null,{"value":"content"}] >> 50:[0,302,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,302,null,{"value":null}] >> 902:[0,303,"WebDriver:ExecuteScript",{"args":["general.useragent.override","Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,303,null,{"value":null}] >> 31:[0,304,"Marionette:GetContext"] << 31:[1,304,null,{"value":"chrome"}] >> 51:[0,305,"Marionette:SetContext",{"value":"content"}] << 27:[1,305,null,{"value":null}] >> 31:[0,306,"Marionette:GetContext"] << 32:[1,306,null,{"value":"content"}] >> 50:[0,307,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,307,null,{"value":null}] >> 843:[0,308,"WebDriver:ExecuteScript",{"args":["general.platform.override","Linux x86_64"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,308,null,{"value":null}] >> 31:[0,309,"Marionette:GetContext"] << 31:[1,309,null,{"value":"chrome"}] >> 51:[0,310,"Marionette:SetContext",{"value":"content"}] << 27:[1,310,null,{"value":null}] >> 31:[0,311,"Marionette:GetContext"] << 32:[1,311,null,{"value":"content"}] >> 50:[0,312,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,312,null,{"value":null}] >> 842:[0,313,"WebDriver:ExecuteScript",{"args":["general.appversion.override","5.0 (X11)"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,313,null,{"value":null}] >> 31:[0,314,"Marionette:GetContext"] << 31:[1,314,null,{"value":"chrome"}] >> 51:[0,315,"Marionette:SetContext",{"value":"content"}] << 27:[1,315,null,{"value":null}] >> 31:[0,316,"Marionette:GetContext"] << 32:[1,316,null,{"value":"content"}] >> 50:[0,317,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,317,null,{"value":null}] >> 840:[0,318,"WebDriver:ExecuteScript",{"args":["general.oscpu.override","Linux x86_64"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,318,null,{"value":null}] >> 31:[0,319,"Marionette:GetContext"] << 31:[1,319,null,{"value":"chrome"}] >> 51:[0,320,"Marionette:SetContext",{"value":"content"}] << 27:[1,320,null,{"value":null}] >> 31:[0,321,"Marionette:GetContext"] << 32:[1,321,null,{"value":"content"}] >> 50:[0,322,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,322,null,{"value":null}] >> 271:[0,323,"WebDriver:ExecuteScript",{"args":["network.http.accept"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,323,null,{"value":null}] >> 31:[0,324,"Marionette:GetContext"] << 31:[1,324,null,{"value":"chrome"}] >> 51:[0,325,"Marionette:SetContext",{"value":"content"}] << 27:[1,325,null,{"value":null}] >> 31:[0,326,"Marionette:GetContext"] << 32:[1,326,null,{"value":"content"}] >> 50:[0,327,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,327,null,{"value":null}] >> 280:[0,328,"WebDriver:ExecuteScript",{"args":["network.http.accept-encoding"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,328,null,{"value":null}] >> 31:[0,329,"Marionette:GetContext"] << 31:[1,329,null,{"value":"chrome"}] >> 51:[0,330,"Marionette:SetContext",{"value":"content"}] << 27:[1,330,null,{"value":null}] >> 31:[0,331,"Marionette:GetContext"] << 32:[1,331,null,{"value":"content"}] >> 50:[0,332,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,332,null,{"value":null}] >> 287:[0,333,"WebDriver:ExecuteScript",{"args":["network.http.accept-encoding.secure"],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); branch.clearUserPref(arguments[0]); "}] << 27:[1,333,null,{"value":null}] >> 31:[0,334,"Marionette:GetContext"] << 31:[1,334,null,{"value":"chrome"}] >> 51:[0,335,"Marionette:SetContext",{"value":"content"}] << 27:[1,335,null,{"value":null}] >> 31:[0,336,"Marionette:GetContext"] << 32:[1,336,null,{"value":"content"}] >> 50:[0,337,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,337,null,{"value":null}] >> 841:[0,338,"WebDriver:ExecuteScript",{"args":["privacy.donottrackheader.enabled",false],"script":"let prefs = Components.classes[\"@mozilla.org/preferences-service;1\"].getService(Components.interfaces.nsIPrefService); let branch = prefs.getBranch(\"\"); switch (branch.getPrefType(arguments[0])) { case branch.PREF_INT: branch.setIntPref(arguments[0], arguments[1]); break; case branch.PREF_BOOL: branch.setBoolPref(arguments[0], arguments[1] ? true : false); break; case branch.PREF_STRING: default: if (branch.setStringPref) { branch.setStringPref(arguments[0], arguments[1]); } else { let newString = Components.classes[\"@mozilla.org/supports-string;1\"].createInstance(Components.interfaces.nsISupportsString); newString.data = arguments[1]; branch.setComplexValue(arguments[0], Components.interfaces.nsISupportsString, newString); } } "}] << 27:[1,338,null,{"value":null}] >> 31:[0,339,"Marionette:GetContext"] << 31:[1,339,null,{"value":"chrome"}] >> 51:[0,340,"Marionette:SetContext",{"value":"content"}] << 27:[1,340,null,{"value":null}] >> 7061:[0,341,"WebDriver:ExecuteScript",{"script":"{ if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loading Firefox::Marionette::Extension::Stealth\"); } let navProto = Object.getPrototypeOf(window.navigator); let winProto = Object.getPrototypeOf(window); let fm_def_2 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return false } else { throw TypeError(decodeURIComponent(\\x27%27get webdriver%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_2.toString = function fm_def() { return \"function webdriver() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(navProto, \"webdriver\", {get: fm_def_2, enumerable: false, configurable: true}); console.clear = function() { console.log(\"Firefox::Marionette::Extension::Stealth blocked an attempt at clearing the console...\") }; console.clear.toString = function clear_def() { return \"function clear() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; let getUserMedia = navProto.mozGetUserMedia; delete navigator.webkitPersistentStorage; delete navigator.webkitTemporaryStorage; delete window.webkitResolveLocalFileSystemURL; delete window.webkitMediaStream; delete window.webkitSpeechGrammar; delete window.ApplePayError; delete window.CSSPrimitiveValue; delete window.Counter; delete navigator.getStorageUpdates; delete window.WebKitMediaKeys; if (\"onmozfullscreenchange\" in window) { } else { Object.defineProperty(window, \"onmozfullscreenchange\", {value: undefined, writable: true, configurable: true}); } if (\"mozInnerScreenX\" in window) { } else { Object.defineProperty(window, \"mozInnerScreenX\", {value: 0, writable: true, configurable: true}); } if (\"CSSMozDocumentRule\" in window) { } else { Object.defineProperty(window, \"CSSMozDocumentRule\", {value: undefined, writable: true, configurable: true}); } if (\"CanvasCaptureMediaStream\" in window) { } else { Object.defineProperty(window, \"CanvasCaptureMediaStream\", {value: undefined, writable: true, configurable: true}); } let fm_def_3 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x275.0%20%28X11%29\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get appVersion%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_3.toString = function fm_def() { return \"function appVersion() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"appVersion\", {get: fm_def_3, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"appVersion\", {get: fm_def_3, enumerable: true, configurable: true}); let fm_def_4 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27Linux%20x86_64\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get oscpu%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_4.toString = function fm_def() { return \"function oscpu() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"oscpu\", {get: fm_def_4, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"oscpu\", {get: fm_def_4, enumerable: true, configurable: true}); let fm_def_5 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27Linux%20x86_64\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get platform%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_5.toString = function fm_def() { return \"function platform() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"platform\", {get: fm_def_5, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"platform\", {get: fm_def_5, enumerable: true, configurable: true}); let fm_def_6 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27Gecko\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get product%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_6.toString = function fm_def() { return \"function product() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"product\", {get: fm_def_6, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"product\", {get: fm_def_6, enumerable: true, configurable: true}); let fm_def_7 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x2720100101\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get productSub%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_7.toString = function fm_def() { return \"function productSub() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"productSub\", {get: fm_def_7, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"productSub\", {get: fm_def_7, enumerable: true, configurable: true}); let fm_def_8 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27Mozilla%2F5.0%20%28X11%3B%20Linux%20x86_64%3B%20rv%3A140.0%29%20Gecko%2F20100101%20Firefox%2F140.0\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get userAgent%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_8.toString = function fm_def() { return \"function userAgent() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"userAgent\", {get: fm_def_8, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"userAgent\", {get: fm_def_8, enumerable: true, configurable: true}); let fm_def_9 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get vendor%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_9.toString = function fm_def() { return \"function vendor() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"vendor\", {get: fm_def_9, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"vendor\", {get: fm_def_9, enumerable: true, configurable: true}); let fm_def_10 = new Function(\"if (Navigator.prototype.isPrototypeOf(this)) { return decodeURIComponent(\\x27\\x27) } else { throw TypeError(decodeURIComponent(\\x27%27get vendorSub%27 called on an object that does not implement interface Navigator.\\x27)); } \"); fm_def_10.toString = function fm_def() { return \"function vendorSub() {\\n\\x20\\x20\\x20\\x20[native code]\\n}\" }; Object.defineProperty(window.Navigator, \"vendorSub\", {get: fm_def_10, enumerable: true, configurable: true}); Object.defineProperty(navProto, \"vendorSub\", {get: fm_def_10, enumerable: true, configurable: true}); if ((\"console\" in window) && (\"log\" in window.console)) { console.log(\"Loaded Firefox::Marionette::Extension::Stealth\"); } } "}] << 27:[1,341,null,{"value":null}] >> 91:[0,342,"Addon:Uninstall",{"id":"2ab827c66a037310e191c87e2fbd24a8ab2cebe2@temporary-addon"}] << 27:[1,342,null,{"value":null}] >> 121:[0,343,"Addon:Install",{"path":"/tmp/firefox_marionette_local_IGTxVYygG8L/extension/stealth-0.0.1.xpi","temporary":true}] << 81:[1,343,null,{"value":"2ab827c66a037310e191c87e2fbd24a8ab2cebe2@temporary-addon"}] >> 68:[0,344,"WebDriver:FindElement",{"using":"class name","value":"add"}] << 101:[1,344,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"a90e9775-a676-4409-8cd6-cd0ccce9391a"}}] >> 156:[0,345,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"a90e9775-a676-4409-8cd6-cd0ccce9391a"}],"script":"arguments[0].remove()"}] << 27:[1,345,null,{"value":null}] >> 68:[0,346,"WebDriver:FindElement",{"using":"class name","value":"add"}] << 390:[1,346,{"error":"no such element","message":"Unable to locate element: add","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nNoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:552:5\ndom.find/> 71:[0,347,"WebDriver:FindElement",{"using":"class name","value":"update"}] << 101:[1,347,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"cc54a747-e455-4514-9b75-b3084821891a"}}] >> 156:[0,348,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"cc54a747-e455-4514-9b75-b3084821891a"}],"script":"arguments[0].remove()"}] << 27:[1,348,null,{"value":null}] >> 71:[0,349,"WebDriver:FindElement",{"using":"class name","value":"update"}] << 393:[1,349,{"error":"no such element","message":"Unable to locate element: update","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nNoSuchElementError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:552:5\ndom.find/> 174:[0,350,"WebDriver:Navigate",{"sessionId":"cb755557-4f0f-4977-951b-b0d4da367652","url":"file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/elements.html"}] << 27:[1,350,null,{"value":null}] >> 73:[0,351,"WebDriver:ExecuteScript",{"script":"return navigator.userAgent"}] << 95:[1,351,null,{"value":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0"}] >> 68:[0,352,"WebDriver:FindElement",{"using":"class name","value":"add"}] << 101:[1,352,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"e1e22765-b746-4938-9512-433b266c80e9"}}] >> 78:[0,353,"WebDriver:ElementClick",{"id":"e1e22765-b746-4938-9512-433b266c80e9"}] << 27:[1,353,null,{"value":null}] >> 67:[0,354,"WebDriver:FindElement",{"using":"tag name","value":"span"}] << 101:[1,354,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}}] >> 166:[0,355,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"return arguments[0].children[0]"}] << 101:[1,355,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"e1e22765-b746-4938-9512-433b266c80e9"}}] >> 83:[0,356,"WebDriver:GetElementTagName",{"id":"e1e22765-b746-4938-9512-433b266c80e9"}] << 31:[1,356,null,{"value":"button"}] >> 76:[0,357,"WebDriver:FindElement",{"using":"tag name","value":"custom-square"}] << 101:[1,357,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"3bbb6896-4568-4db1-98cb-6b8fe984da80"}}] >> 177:[0,358,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"3bbb6896-4568-4db1-98cb-6b8fe984da80"}],"script":"return arguments[0].shadowRoot.children[0]"}] << 101:[1,358,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}}] >> 201:[0,359,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"if (arguments[0].shadowRoot) { return true } else { return false }"}] << 28:[1,359,null,{"value":false}] >> 201:[0,360,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"3bbb6896-4568-4db1-98cb-6b8fe984da80"}],"script":"if (arguments[0].shadowRoot) { return true } else { return false }"}] << 27:[1,360,null,{"value":true}] >> 83:[0,361,"WebDriver:GetElementTagName",{"id":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}] << 30:[1,361,null,{"value":"style"}] >> 79:[0,362,"WebDriver:GetShadowRoot",{"id":"3bbb6896-4568-4db1-98cb-6b8fe984da80"}] << 100:[1,362,null,{"value":{"shadow-6066-11e4-a52e-4f735466cecf":"9f4b93df-297a-4f2a-a36f-e467fae8f693"}}] >> 162:[0,363,"WebDriver:ExecuteScript",{"args":[{"shadow-6066-11e4-a52e-4f735466cecf":"9f4b93df-297a-4f2a-a36f-e467fae8f693"}],"script":"return arguments[0].children"}] << 498:[1,363,null,{"value":[{"element-6066-11e4-a52e-4f735466cecf":"5f2396d2-edf8-49a0-b2d5-78243ee09919"},{"element-6066-11e4-a52e-4f735466cecf":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63"},{"element-6066-11e4-a52e-4f735466cecf":"049f9716-54e9-440f-bba8-086072893009"},{"element-6066-11e4-a52e-4f735466cecf":"8c9a44b6-8b48-4ec9-b23d-bb3efc77761e"},{"element-6066-11e4-a52e-4f735466cecf":"255a6436-9abc-4894-a79b-c5bf58061d6d"},{"element-6066-11e4-a52e-4f735466cecf":"00b82567-6ea1-4c32-8083-b7c4b6067081"}]}] >> 83:[0,364,"WebDriver:GetElementTagName",{"id":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}] << 30:[1,364,null,{"value":"style"}] >> 83:[0,365,"WebDriver:GetElementTagName",{"id":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63"}] << 28:[1,365,null,{"value":"div"}] >> 165:[0,366,"WebDriver:ExecuteScript",{"args":[{"shadow-6066-11e4-a52e-4f735466cecf":"9f4b93df-297a-4f2a-a36f-e467fae8f693"}],"script":"return arguments[0].children[0]"}] << 101:[1,366,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}}] >> 83:[0,367,"WebDriver:GetElementTagName",{"id":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}] << 30:[1,367,null,{"value":"style"}] >> 172:[0,368,"WebDriver:ExecuteScript",{"args":[{"shadow-6066-11e4-a52e-4f735466cecf":"9f4b93df-297a-4f2a-a36f-e467fae8f693"}],"script":"return [ 2, arguments[0].children[0] ]"}] << 105:[1,368,null,{"value":[2,{"element-6066-11e4-a52e-4f735466cecf":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}]}] >> 83:[0,369,"WebDriver:GetElementTagName",{"id":"5f2396d2-edf8-49a0-b2d5-78243ee09919"}] << 30:[1,369,null,{"value":"style"}] >> 132:[0,370,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"id","value":"outer-div"}] << 101:[1,370,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63"}}] >> 100:[0,371,"WebDriver:GetElementAttribute",{"id":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63","name":"title"}] << 45:[1,371,null,{"value":"In the Shadow Realms"}] >> 134:[0,372,"WebDriver:FindElementsFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"tag name","value":"span"}] << 463:[1,372,{"error":"invalid selector","message":"Given tag name expression \"span\" is invalid: TypeError: startNode.getElementsByTagName is not a function","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nInvalidSelectorError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:452:5\nfind_@chrome://remote/content/shared/DOM.sys.mjs:170:11\n"},null] >> 138:[0,373,"WebDriver:FindElementsFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"css selector","value":"span"}] << 172:[1,373,null,[{"element-6066-11e4-a52e-4f735466cecf":"8c9a44b6-8b48-4ec9-b23d-bb3efc77761e"},{"element-6066-11e4-a52e-4f735466cecf":"255a6436-9abc-4894-a79b-c5bf58061d6d"}]] >> 83:[0,374,"WebDriver:GetElementTagName",{"id":"8c9a44b6-8b48-4ec9-b23d-bb3efc77761e"}] << 29:[1,374,null,{"value":"span"}] >> 83:[0,375,"WebDriver:GetElementTagName",{"id":"255a6436-9abc-4894-a79b-c5bf58061d6d"}] << 29:[1,375,null,{"value":"span"}] >> 135:[0,376,"WebDriver:FindElementsFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"tag name","value":"notag"}] << 464:[1,376,{"error":"invalid selector","message":"Given tag name expression \"notag\" is invalid: TypeError: startNode.getElementsByTagName is not a function","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nInvalidSelectorError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:452:5\nfind_@chrome://remote/content/shared/DOM.sys.mjs:170:11\n"},null] >> 139:[0,377,"WebDriver:FindElementsFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"css selector","value":"notag"}] << 15:[1,377,null,[]] >> 134:[0,378,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"name","value":"meta-name"}] << 450:[1,378,{"error":"invalid selector","message":"Given name expression \"meta-name\" is invalid: NotSupportedError: Operation is not supported","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nInvalidSelectorError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:452:5\nfind_@chrome://remote/content/shared/DOM.sys.mjs:170:11\n"},null] >> 152:[0,379,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"css selector","value":"[name=\"meta-name\""}] << 101:[1,379,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"049f9716-54e9-440f-bba8-086072893009"}}] >> 100:[0,380,"WebDriver:GetElementAttribute",{"id":"049f9716-54e9-440f-bba8-086072893009","name":"title"}] << 34:[1,380,null,{"value":"Very META"}] >> 146:[0,381,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"class name","value":"outer-div-class"}] << 478:[1,381,{"error":"invalid selector","message":"Given class name expression \"outer-div-class\" is invalid: TypeError: startNode.getElementsByClassName is not a function","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nInvalidSelectorError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:452:5\nfind_@chrome://remote/content/shared/DOM.sys.mjs:170:11\n"},null] >> 149:[0,382,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"css selector","value":".outer-div-class"}] << 101:[1,382,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63"}}] >> 100:[0,383,"WebDriver:GetElementAttribute",{"id":"8ee2c42d-2122-4b49-bd0f-38d454ca1c63","name":"title"}] << 45:[1,383,null,{"value":"In the Shadow Realms"}] >> 138:[0,384,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"link text","value":"MetaCPAN"}] << 101:[1,384,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"00b82567-6ea1-4c32-8083-b7c4b6067081"}}] >> 99:[0,385,"WebDriver:GetElementAttribute",{"id":"00b82567-6ea1-4c32-8083-b7c4b6067081","name":"href"}] << 45:[1,385,null,{"value":"https://metacpan.org"}] >> 142:[0,386,"WebDriver:FindElementFromShadowRoot",{"shadowRoot":"9f4b93df-297a-4f2a-a36f-e467fae8f693","using":"partial link text","value":"Meta"}] << 101:[1,386,null,{"value":{"element-6066-11e4-a52e-4f735466cecf":"00b82567-6ea1-4c32-8083-b7c4b6067081"}}] >> 99:[0,387,"WebDriver:GetElementAttribute",{"id":"00b82567-6ea1-4c32-8083-b7c4b6067081","name":"href"}] << 45:[1,387,null,{"value":"https://metacpan.org"}] >> 135:[0,388,"WebDriver:FindElement",{"using":{"shadow-6066-11e4-a52e-4f735466cecf":"9f4b93df-297a-4f2a-a36f-e467fae8f693"},"value":"//div"}] << 782:[1,388,{"error":"invalid selector","message":"Strategy not supported: [object Object]","stacktrace":"RemoteError@chrome://remote/content/shared/RemoteError.sys.mjs:8:8\nWebDriverError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:199:5\nInvalidSelectorError@chrome://remote/content/shared/webdriver/Errors.sys.mjs:452:5\nGeckoDriver.prototype.findElement@chrome://remote/content/marionette/driver.sys.mjs:1740:11\ndespatch@chrome://remote/content/marionette/server.sys.mjs:318:40\nexecute@chrome://remote/content/marionette/server.sys.mjs:289:16\nonPacket/<@chrome://remote/content/marionette/server.sys.mjs:262:20\nonPacket@chrome://remote/content/marionette/server.sys.mjs:263:9\n_onJSONObjectReady/<@chrome://remote/content/marionette/transport.sys.mjs:494:20\n"},null] >> 147:[0,389,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"return [2,1]"}] << 28:[1,389,null,{"value":[2,1]}] >> 158:[0,390,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"return [2,arguments[0]]"}] << 105:[1,390,null,{"value":[2,{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}]}] >> 83:[0,391,"WebDriver:GetElementTagName",{"id":"43b74e91-7fe3-4852-a549-7c7d01644aae"}] << 29:[1,391,null,{"value":"span"}] >> 163:[0,392,"WebDriver:ExecuteScript",{"args":[{"elem":{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}}],"script":"return arguments[0]"}] << 110:[1,392,null,{"value":{"elem":{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}}}] >> 83:[0,393,"WebDriver:GetElementTagName",{"id":"43b74e91-7fe3-4852-a549-7c7d01644aae"}] << 29:[1,393,null,{"value":"span"}] >> 143:[0,394,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"return 2"}] << 24:[1,394,null,{"value":2}] >> 154:[0,395,"WebDriver:ExecuteScript",{"args":[{"element-6066-11e4-a52e-4f735466cecf":"43b74e91-7fe3-4852-a549-7c7d01644aae"}],"script":"return { value: 2 }"}] << 34:[1,395,null,{"value":{"value":2}}] >> 73:[0,396,"WebDriver:ExecuteScript",{"script":"return navigator.webdriver"}] << 28:[1,396,null,{"value":false}] >> 31:[0,397,"Marionette:GetContext"] << 32:[1,397,null,{"value":"content"}] >> 50:[0,398,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,398,null,{"value":null}] >> 300:[0,399,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIES === undefined) { return; } else { return clearDataService.CLEAR_COOKIES; } "}] << 24:[1,399,null,{"value":1}] >> 31:[0,400,"Marionette:GetContext"] << 31:[1,400,null,{"value":"chrome"}] >> 51:[0,401,"Marionette:SetContext",{"value":"content"}] << 27:[1,401,null,{"value":null}] >> 31:[0,402,"Marionette:GetContext"] << 32:[1,402,null,{"value":"content"}] >> 50:[0,403,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,403,null,{"value":null}] >> 300:[0,404,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIES === undefined) { return; } else { return clearDataService.CLEAR_COOKIES; } "}] << 24:[1,404,null,{"value":1}] >> 31:[0,405,"Marionette:GetContext"] << 31:[1,405,null,{"value":"chrome"}] >> 51:[0,406,"Marionette:SetContext",{"value":"content"}] << 27:[1,406,null,{"value":null}] >> 31:[0,407,"Marionette:GetContext"] << 32:[1,407,null,{"value":"content"}] >> 50:[0,408,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,408,null,{"value":null}] >> 312:[0,409,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_NETWORK_CACHE === undefined) { return; } else { return clearDataService.CLEAR_NETWORK_CACHE; } "}] << 24:[1,409,null,{"value":2}] >> 31:[0,410,"Marionette:GetContext"] << 31:[1,410,null,{"value":"chrome"}] >> 51:[0,411,"Marionette:SetContext",{"value":"content"}] << 27:[1,411,null,{"value":null}] >> 31:[0,412,"Marionette:GetContext"] << 32:[1,412,null,{"value":"content"}] >> 50:[0,413,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,413,null,{"value":null}] >> 308:[0,414,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_IMAGE_CACHE === undefined) { return; } else { return clearDataService.CLEAR_IMAGE_CACHE; } "}] << 24:[1,414,null,{"value":4}] >> 31:[0,415,"Marionette:GetContext"] << 31:[1,415,null,{"value":"chrome"}] >> 51:[0,416,"Marionette:SetContext",{"value":"content"}] << 27:[1,416,null,{"value":null}] >> 31:[0,417,"Marionette:GetContext"] << 32:[1,417,null,{"value":"content"}] >> 50:[0,418,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,418,null,{"value":null}] >> 302:[0,419,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_JS_CACHE === undefined) { return; } else { return clearDataService.CLEAR_JS_CACHE; } "}] << 24:[1,419,null,{"value":8}] >> 31:[0,420,"Marionette:GetContext"] << 31:[1,420,null,{"value":"chrome"}] >> 51:[0,421,"Marionette:SetContext",{"value":"content"}] << 27:[1,421,null,{"value":null}] >> 31:[0,422,"Marionette:GetContext"] << 32:[1,422,null,{"value":"content"}] >> 50:[0,423,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,423,null,{"value":null}] >> 304:[0,424,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOWNLOADS === undefined) { return; } else { return clearDataService.CLEAR_DOWNLOADS; } "}] << 25:[1,424,null,{"value":16}] >> 31:[0,425,"Marionette:GetContext"] << 31:[1,425,null,{"value":"chrome"}] >> 51:[0,426,"Marionette:SetContext",{"value":"content"}] << 27:[1,426,null,{"value":null}] >> 31:[0,427,"Marionette:GetContext"] << 32:[1,427,null,{"value":"content"}] >> 50:[0,428,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,428,null,{"value":null}] >> 312:[0,429,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_MEDIA_DEVICES === undefined) { return; } else { return clearDataService.CLEAR_MEDIA_DEVICES; } "}] << 25:[1,429,null,{"value":64}] >> 31:[0,430,"Marionette:GetContext"] << 31:[1,430,null,{"value":"chrome"}] >> 51:[0,431,"Marionette:SetContext",{"value":"content"}] << 27:[1,431,null,{"value":null}] >> 31:[0,432,"Marionette:GetContext"] << 32:[1,432,null,{"value":"content"}] >> 50:[0,433,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,433,null,{"value":null}] >> 304:[0,434,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_QUOTA === undefined) { return; } else { return clearDataService.CLEAR_DOM_QUOTA; } "}] << 26:[1,434,null,{"value":128}] >> 31:[0,435,"Marionette:GetContext"] << 31:[1,435,null,{"value":"chrome"}] >> 51:[0,436,"Marionette:SetContext",{"value":"content"}] << 27:[1,436,null,{"value":null}] >> 31:[0,437,"Marionette:GetContext"] << 32:[1,437,null,{"value":"content"}] >> 50:[0,438,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,438,null,{"value":null}] >> 330:[0,439,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PREDICTOR_NETWORK_DATA === undefined) { return; } else { return clearDataService.CLEAR_PREDICTOR_NETWORK_DATA; } "}] << 26:[1,439,null,{"value":256}] >> 31:[0,440,"Marionette:GetContext"] << 31:[1,440,null,{"value":"chrome"}] >> 51:[0,441,"Marionette:SetContext",{"value":"content"}] << 27:[1,441,null,{"value":null}] >> 31:[0,442,"Marionette:GetContext"] << 32:[1,442,null,{"value":"content"}] >> 50:[0,443,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,443,null,{"value":null}] >> 330:[0,444,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_PUSH_NOTIFICATIONS === undefined) { return; } else { return clearDataService.CLEAR_DOM_PUSH_NOTIFICATIONS; } "}] << 26:[1,444,null,{"value":512}] >> 31:[0,445,"Marionette:GetContext"] << 31:[1,445,null,{"value":"chrome"}] >> 51:[0,446,"Marionette:SetContext",{"value":"content"}] << 27:[1,446,null,{"value":null}] >> 31:[0,447,"Marionette:GetContext"] << 32:[1,447,null,{"value":"content"}] >> 50:[0,448,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,448,null,{"value":null}] >> 300:[0,449,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_HISTORY === undefined) { return; } else { return clearDataService.CLEAR_HISTORY; } "}] << 27:[1,449,null,{"value":1024}] >> 31:[0,450,"Marionette:GetContext"] << 31:[1,450,null,{"value":"chrome"}] >> 51:[0,451,"Marionette:SetContext",{"value":"content"}] << 27:[1,451,null,{"value":null}] >> 31:[0,452,"Marionette:GetContext"] << 32:[1,452,null,{"value":"content"}] >> 50:[0,453,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,453,null,{"value":null}] >> 308:[0,454,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_AUTH_TOKENS === undefined) { return; } else { return clearDataService.CLEAR_AUTH_TOKENS; } "}] << 27:[1,454,null,{"value":4096}] >> 31:[0,455,"Marionette:GetContext"] << 31:[1,455,null,{"value":"chrome"}] >> 51:[0,456,"Marionette:SetContext",{"value":"content"}] << 27:[1,456,null,{"value":null}] >> 31:[0,457,"Marionette:GetContext"] << 32:[1,457,null,{"value":"content"}] >> 50:[0,458,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,458,null,{"value":null}] >> 306:[0,459,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_AUTH_CACHE === undefined) { return; } else { return clearDataService.CLEAR_AUTH_CACHE; } "}] << 27:[1,459,null,{"value":8192}] >> 31:[0,460,"Marionette:GetContext"] << 31:[1,460,null,{"value":"chrome"}] >> 51:[0,461,"Marionette:SetContext",{"value":"content"}] << 27:[1,461,null,{"value":null}] >> 31:[0,462,"Marionette:GetContext"] << 32:[1,462,null,{"value":"content"}] >> 50:[0,463,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,463,null,{"value":null}] >> 308:[0,464,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PERMISSIONS === undefined) { return; } else { return clearDataService.CLEAR_PERMISSIONS; } "}] << 33:[1,464,null,{"value":2147500032}] >> 31:[0,465,"Marionette:GetContext"] << 31:[1,465,null,{"value":"chrome"}] >> 51:[0,466,"Marionette:SetContext",{"value":"content"}] << 27:[1,466,null,{"value":null}] >> 31:[0,467,"Marionette:GetContext"] << 32:[1,467,null,{"value":"content"}] >> 50:[0,468,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,468,null,{"value":null}] >> 324:[0,469,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CONTENT_PREFERENCES === undefined) { return; } else { return clearDataService.CLEAR_CONTENT_PREFERENCES; } "}] << 28:[1,469,null,{"value":32768}] >> 31:[0,470,"Marionette:GetContext"] << 31:[1,470,null,{"value":"chrome"}] >> 51:[0,471,"Marionette:SetContext",{"value":"content"}] << 27:[1,471,null,{"value":null}] >> 31:[0,472,"Marionette:GetContext"] << 32:[1,472,null,{"value":"content"}] >> 50:[0,473,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,473,null,{"value":null}] >> 294:[0,474,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_HSTS === undefined) { return; } else { return clearDataService.CLEAR_HSTS; } "}] << 28:[1,474,null,{"value":65536}] >> 31:[0,475,"Marionette:GetContext"] << 31:[1,475,null,{"value":"chrome"}] >> 51:[0,476,"Marionette:SetContext",{"value":"content"}] << 27:[1,476,null,{"value":null}] >> 31:[0,477,"Marionette:GetContext"] << 32:[1,477,null,{"value":"content"}] >> 50:[0,478,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,478,null,{"value":null}] >> 292:[0,479,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_EME === undefined) { return; } else { return clearDataService.CLEAR_EME; } "}] << 29:[1,479,null,{"value":131072}] >> 31:[0,480,"Marionette:GetContext"] << 31:[1,480,null,{"value":"chrome"}] >> 51:[0,481,"Marionette:SetContext",{"value":"content"}] << 27:[1,481,null,{"value":null}] >> 31:[0,482,"Marionette:GetContext"] << 32:[1,482,null,{"value":"content"}] >> 50:[0,483,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,483,null,{"value":null}] >> 300:[0,484,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_REPORTS === undefined) { return; } else { return clearDataService.CLEAR_REPORTS; } "}] << 29:[1,484,null,{"value":262144}] >> 31:[0,485,"Marionette:GetContext"] << 31:[1,485,null,{"value":"chrome"}] >> 51:[0,486,"Marionette:SetContext",{"value":"content"}] << 27:[1,486,null,{"value":null}] >> 31:[0,487,"Marionette:GetContext"] << 32:[1,487,null,{"value":"content"}] >> 50:[0,488,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,488,null,{"value":null}] >> 314:[0,489,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_STORAGE_ACCESS === undefined) { return; } else { return clearDataService.CLEAR_STORAGE_ACCESS; } "}] << 29:[1,489,null,{"value":524288}] >> 31:[0,490,"Marionette:GetContext"] << 31:[1,490,null,{"value":"chrome"}] >> 51:[0,491,"Marionette:SetContext",{"value":"content"}] << 27:[1,491,null,{"value":null}] >> 31:[0,492,"Marionette:GetContext"] << 32:[1,492,null,{"value":"content"}] >> 50:[0,493,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,493,null,{"value":null}] >> 316:[0,494,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CERT_EXCEPTIONS === undefined) { return; } else { return clearDataService.CLEAR_CERT_EXCEPTIONS; } "}] << 30:[1,494,null,{"value":1048576}] >> 31:[0,495,"Marionette:GetContext"] << 31:[1,495,null,{"value":"chrome"}] >> 51:[0,496,"Marionette:SetContext",{"value":"content"}] << 27:[1,496,null,{"value":null}] >> 31:[0,497,"Marionette:GetContext"] << 32:[1,497,null,{"value":"content"}] >> 50:[0,498,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,498,null,{"value":null}] >> 334:[0,499,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CONTENT_BLOCKING_RECORDS === undefined) { return; } else { return clearDataService.CLEAR_CONTENT_BLOCKING_RECORDS; } "}] << 30:[1,499,null,{"value":2097152}] >> 31:[0,500,"Marionette:GetContext"] << 31:[1,500,null,{"value":"chrome"}] >> 51:[0,501,"Marionette:SetContext",{"value":"content"}] << 27:[1,501,null,{"value":null}] >> 31:[0,502,"Marionette:GetContext"] << 32:[1,502,null,{"value":"content"}] >> 50:[0,503,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,503,null,{"value":null}] >> 304:[0,504,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CSS_CACHE === undefined) { return; } else { return clearDataService.CLEAR_CSS_CACHE; } "}] << 30:[1,504,null,{"value":4194304}] >> 31:[0,505,"Marionette:GetContext"] << 31:[1,505,null,{"value":"chrome"}] >> 51:[0,506,"Marionette:SetContext",{"value":"content"}] << 27:[1,506,null,{"value":null}] >> 31:[0,507,"Marionette:GetContext"] << 32:[1,507,null,{"value":"content"}] >> 50:[0,508,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,508,null,{"value":null}] >> 316:[0,509,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PREFLIGHT_CACHE === undefined) { return; } else { return clearDataService.CLEAR_PREFLIGHT_CACHE; } "}] << 30:[1,509,null,{"value":8388608}] >> 31:[0,510,"Marionette:GetContext"] << 31:[1,510,null,{"value":"chrome"}] >> 51:[0,511,"Marionette:SetContext",{"value":"content"}] << 27:[1,511,null,{"value":null}] >> 31:[0,512,"Marionette:GetContext"] << 32:[1,512,null,{"value":"content"}] >> 50:[0,513,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,513,null,{"value":null}] >> 342:[0,514,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CLIENT_AUTH_REMEMBER_SERVICE === undefined) { return; } else { return clearDataService.CLEAR_CLIENT_AUTH_REMEMBER_SERVICE; } "}] << 31:[1,514,null,{"value":16777216}] >> 31:[0,515,"Marionette:GetContext"] << 31:[1,515,null,{"value":"chrome"}] >> 51:[0,516,"Marionette:SetContext",{"value":"content"}] << 27:[1,516,null,{"value":null}] >> 31:[0,517,"Marionette:GetContext"] << 32:[1,517,null,{"value":"content"}] >> 50:[0,518,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,518,null,{"value":null}] >> 334:[0,519,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CREDENTIAL_MANAGER_STATE === undefined) { return; } else { return clearDataService.CLEAR_CREDENTIAL_MANAGER_STATE; } "}] << 31:[1,519,null,{"value":33554432}] >> 31:[0,520,"Marionette:GetContext"] << 31:[1,520,null,{"value":"chrome"}] >> 51:[0,521,"Marionette:SetContext",{"value":"content"}] << 27:[1,521,null,{"value":null}] >> 31:[0,522,"Marionette:GetContext"] << 32:[1,522,null,{"value":"content"}] >> 50:[0,523,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,523,null,{"value":null}] >> 332:[0,524,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIE_BANNER_EXCEPTION === undefined) { return; } else { return clearDataService.CLEAR_COOKIE_BANNER_EXCEPTION; } "}] << 31:[1,524,null,{"value":67108864}] >> 31:[0,525,"Marionette:GetContext"] << 31:[1,525,null,{"value":"chrome"}] >> 51:[0,526,"Marionette:SetContext",{"value":"content"}] << 27:[1,526,null,{"value":null}] >> 31:[0,527,"Marionette:GetContext"] << 32:[1,527,null,{"value":"content"}] >> 50:[0,528,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,528,null,{"value":null}] >> 344:[0,529,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIE_BANNER_EXECUTED_RECORD === undefined) { return; } else { return clearDataService.CLEAR_COOKIE_BANNER_EXECUTED_RECORD; } "}] << 32:[1,529,null,{"value":134217728}] >> 31:[0,530,"Marionette:GetContext"] << 31:[1,530,null,{"value":"chrome"}] >> 51:[0,531,"Marionette:SetContext",{"value":"content"}] << 27:[1,531,null,{"value":null}] >> 31:[0,532,"Marionette:GetContext"] << 32:[1,532,null,{"value":"content"}] >> 50:[0,533,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,533,null,{"value":null}] >> 348:[0,534,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_FINGERPRINTING_PROTECTION_STATE === undefined) { return; } else { return clearDataService.CLEAR_FINGERPRINTING_PROTECTION_STATE; } "}] << 32:[1,534,null,{"value":268435456}] >> 31:[0,535,"Marionette:GetContext"] << 31:[1,535,null,{"value":"chrome"}] >> 51:[0,536,"Marionette:SetContext",{"value":"content"}] << 27:[1,536,null,{"value":null}] >> 31:[0,537,"Marionette:GetContext"] << 32:[1,537,null,{"value":"content"}] >> 50:[0,538,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,538,null,{"value":null}] >> 350:[0,539,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_BOUNCE_TRACKING_PROTECTION_STATE === undefined) { return; } else { return clearDataService.CLEAR_BOUNCE_TRACKING_PROTECTION_STATE; } "}] << 32:[1,539,null,{"value":536870912}] >> 31:[0,540,"Marionette:GetContext"] << 31:[1,540,null,{"value":"chrome"}] >> 51:[0,541,"Marionette:SetContext",{"value":"content"}] << 27:[1,541,null,{"value":null}] >> 31:[0,542,"Marionette:GetContext"] << 32:[1,542,null,{"value":"content"}] >> 50:[0,543,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,543,null,{"value":null}] >> 346:[0,544,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_MESSAGING_LAYER_SECURITY_STATE === undefined) { return; } else { return clearDataService.CLEAR_MESSAGING_LAYER_SECURITY_STATE; } "}] << 27:[1,544,null,{"value":2048}] >> 31:[0,545,"Marionette:GetContext"] << 31:[1,545,null,{"value":"chrome"}] >> 51:[0,546,"Marionette:SetContext",{"value":"content"}] << 27:[1,546,null,{"value":null}] >> 31:[0,547,"Marionette:GetContext"] << 32:[1,547,null,{"value":"content"}] >> 50:[0,548,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,548,null,{"value":null}] >> 324:[0,549,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_STORAGE_PERMISSIONS === undefined) { return; } else { return clearDataService.CLEAR_STORAGE_PERMISSIONS; } "}] << 33:[1,549,null,{"value":1073741824}] >> 31:[0,550,"Marionette:GetContext"] << 31:[1,550,null,{"value":"chrome"}] >> 51:[0,551,"Marionette:SetContext",{"value":"content"}] << 27:[1,551,null,{"value":null}] >> 31:[0,552,"Marionette:GetContext"] << 32:[1,552,null,{"value":"content"}] >> 50:[0,553,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,553,null,{"value":null}] >> 324:[0,554,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_SHUTDOWN_EXCEPTIONS === undefined) { return; } else { return clearDataService.CLEAR_SHUTDOWN_EXCEPTIONS; } "}] << 33:[1,554,null,{"value":2147483648}] >> 31:[0,555,"Marionette:GetContext"] << 31:[1,555,null,{"value":"chrome"}] >> 51:[0,556,"Marionette:SetContext",{"value":"content"}] << 27:[1,556,null,{"value":null}] >> 31:[0,557,"Marionette:GetContext"] << 32:[1,557,null,{"value":"content"}] >> 50:[0,558,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,558,null,{"value":null}] >> 292:[0,559,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_ALL === undefined) { return; } else { return clearDataService.CLEAR_ALL; } "}] << 33:[1,559,null,{"value":4294967295}] >> 31:[0,560,"Marionette:GetContext"] << 31:[1,560,null,{"value":"chrome"}] >> 51:[0,561,"Marionette:SetContext",{"value":"content"}] << 27:[1,561,null,{"value":null}] >> 31:[0,562,"Marionette:GetContext"] << 32:[1,562,null,{"value":"content"}] >> 50:[0,563,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,563,null,{"value":null}] >> 306:[0,564,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_ALL_CACHES === undefined) { return; } else { return clearDataService.CLEAR_ALL_CACHES; } "}] << 31:[1,564,null,{"value":12648462}] >> 31:[0,565,"Marionette:GetContext"] << 31:[1,565,null,{"value":"chrome"}] >> 51:[0,566,"Marionette:SetContext",{"value":"content"}] << 27:[1,566,null,{"value":null}] >> 31:[0,567,"Marionette:GetContext"] << 32:[1,567,null,{"value":"content"}] >> 50:[0,568,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,568,null,{"value":null}] >> 310:[0,569,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_STORAGES === undefined) { return; } else { return clearDataService.CLEAR_DOM_STORAGES; } "}] << 29:[1,569,null,{"value":262784}] >> 31:[0,570,"Marionette:GetContext"] << 31:[1,570,null,{"value":"chrome"}] >> 51:[0,571,"Marionette:SetContext",{"value":"content"}] << 27:[1,571,null,{"value":null}] >> 31:[0,572,"Marionette:GetContext"] << 32:[1,572,null,{"value":"content"}] >> 50:[0,573,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,573,null,{"value":null}] >> 320:[0,574,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_FORGET_ABOUT_SITE === undefined) { return; } else { return clearDataService.CLEAR_FORGET_ABOUT_SITE; } "}] << 33:[1,574,null,{"value":3218591647}] >> 31:[0,575,"Marionette:GetContext"] << 31:[1,575,null,{"value":"chrome"}] >> 51:[0,576,"Marionette:SetContext",{"value":"content"}] << 27:[1,576,null,{"value":null}] >> 31:[0,577,"Marionette:GetContext"] << 32:[1,577,null,{"value":"content"}] >> 50:[0,578,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,578,null,{"value":null}] >> 328:[0,579,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIES_AND_SITE_DATA === undefined) { return; } else { return clearDataService.CLEAR_COOKIES_AND_SITE_DATA; } "}] << 33:[1,579,null,{"value":2013739649}] >> 31:[0,580,"Marionette:GetContext"] << 31:[1,580,null,{"value":"chrome"}] >> 51:[0,581,"Marionette:SetContext",{"value":"content"}] << 27:[1,581,null,{"value":null}] >> 31:[0,582,"Marionette:GetContext"] << 32:[1,582,null,{"value":"content"}] >> 50:[0,583,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,583,null,{"value":null}] >> 300:[0,584,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIES === undefined) { return; } else { return clearDataService.CLEAR_COOKIES; } "}] << 24:[1,584,null,{"value":1}] >> 31:[0,585,"Marionette:GetContext"] << 31:[1,585,null,{"value":"chrome"}] >> 51:[0,586,"Marionette:SetContext",{"value":"content"}] << 27:[1,586,null,{"value":null}] >> 31:[0,587,"Marionette:GetContext"] << 32:[1,587,null,{"value":"content"}] >> 50:[0,588,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,588,null,{"value":null}] >> 312:[0,589,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_NETWORK_CACHE === undefined) { return; } else { return clearDataService.CLEAR_NETWORK_CACHE; } "}] << 24:[1,589,null,{"value":2}] >> 31:[0,590,"Marionette:GetContext"] << 31:[1,590,null,{"value":"chrome"}] >> 51:[0,591,"Marionette:SetContext",{"value":"content"}] << 27:[1,591,null,{"value":null}] >> 31:[0,592,"Marionette:GetContext"] << 32:[1,592,null,{"value":"content"}] >> 50:[0,593,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,593,null,{"value":null}] >> 308:[0,594,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_IMAGE_CACHE === undefined) { return; } else { return clearDataService.CLEAR_IMAGE_CACHE; } "}] << 24:[1,594,null,{"value":4}] >> 31:[0,595,"Marionette:GetContext"] << 31:[1,595,null,{"value":"chrome"}] >> 51:[0,596,"Marionette:SetContext",{"value":"content"}] << 27:[1,596,null,{"value":null}] >> 31:[0,597,"Marionette:GetContext"] << 32:[1,597,null,{"value":"content"}] >> 50:[0,598,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,598,null,{"value":null}] >> 302:[0,599,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_JS_CACHE === undefined) { return; } else { return clearDataService.CLEAR_JS_CACHE; } "}] << 24:[1,599,null,{"value":8}] >> 31:[0,600,"Marionette:GetContext"] << 31:[1,600,null,{"value":"chrome"}] >> 51:[0,601,"Marionette:SetContext",{"value":"content"}] << 27:[1,601,null,{"value":null}] >> 31:[0,602,"Marionette:GetContext"] << 32:[1,602,null,{"value":"content"}] >> 50:[0,603,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,603,null,{"value":null}] >> 304:[0,604,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOWNLOADS === undefined) { return; } else { return clearDataService.CLEAR_DOWNLOADS; } "}] << 25:[1,604,null,{"value":16}] >> 31:[0,605,"Marionette:GetContext"] << 31:[1,605,null,{"value":"chrome"}] >> 51:[0,606,"Marionette:SetContext",{"value":"content"}] << 27:[1,606,null,{"value":null}] >> 31:[0,607,"Marionette:GetContext"] << 32:[1,607,null,{"value":"content"}] >> 50:[0,608,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,608,null,{"value":null}] >> 312:[0,609,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_MEDIA_DEVICES === undefined) { return; } else { return clearDataService.CLEAR_MEDIA_DEVICES; } "}] << 25:[1,609,null,{"value":64}] >> 31:[0,610,"Marionette:GetContext"] << 31:[1,610,null,{"value":"chrome"}] >> 51:[0,611,"Marionette:SetContext",{"value":"content"}] << 27:[1,611,null,{"value":null}] >> 31:[0,612,"Marionette:GetContext"] << 32:[1,612,null,{"value":"content"}] >> 50:[0,613,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,613,null,{"value":null}] >> 304:[0,614,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_QUOTA === undefined) { return; } else { return clearDataService.CLEAR_DOM_QUOTA; } "}] << 26:[1,614,null,{"value":128}] >> 31:[0,615,"Marionette:GetContext"] << 31:[1,615,null,{"value":"chrome"}] >> 51:[0,616,"Marionette:SetContext",{"value":"content"}] << 27:[1,616,null,{"value":null}] >> 31:[0,617,"Marionette:GetContext"] << 32:[1,617,null,{"value":"content"}] >> 50:[0,618,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,618,null,{"value":null}] >> 330:[0,619,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PREDICTOR_NETWORK_DATA === undefined) { return; } else { return clearDataService.CLEAR_PREDICTOR_NETWORK_DATA; } "}] << 26:[1,619,null,{"value":256}] >> 31:[0,620,"Marionette:GetContext"] << 31:[1,620,null,{"value":"chrome"}] >> 51:[0,621,"Marionette:SetContext",{"value":"content"}] << 27:[1,621,null,{"value":null}] >> 31:[0,622,"Marionette:GetContext"] << 32:[1,622,null,{"value":"content"}] >> 50:[0,623,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,623,null,{"value":null}] >> 330:[0,624,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_PUSH_NOTIFICATIONS === undefined) { return; } else { return clearDataService.CLEAR_DOM_PUSH_NOTIFICATIONS; } "}] << 26:[1,624,null,{"value":512}] >> 31:[0,625,"Marionette:GetContext"] << 31:[1,625,null,{"value":"chrome"}] >> 51:[0,626,"Marionette:SetContext",{"value":"content"}] << 27:[1,626,null,{"value":null}] >> 31:[0,627,"Marionette:GetContext"] << 32:[1,627,null,{"value":"content"}] >> 50:[0,628,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,628,null,{"value":null}] >> 300:[0,629,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_HISTORY === undefined) { return; } else { return clearDataService.CLEAR_HISTORY; } "}] << 27:[1,629,null,{"value":1024}] >> 31:[0,630,"Marionette:GetContext"] << 31:[1,630,null,{"value":"chrome"}] >> 51:[0,631,"Marionette:SetContext",{"value":"content"}] << 27:[1,631,null,{"value":null}] >> 31:[0,632,"Marionette:GetContext"] << 32:[1,632,null,{"value":"content"}] >> 50:[0,633,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,633,null,{"value":null}] >> 308:[0,634,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_AUTH_TOKENS === undefined) { return; } else { return clearDataService.CLEAR_AUTH_TOKENS; } "}] << 27:[1,634,null,{"value":4096}] >> 31:[0,635,"Marionette:GetContext"] << 31:[1,635,null,{"value":"chrome"}] >> 51:[0,636,"Marionette:SetContext",{"value":"content"}] << 27:[1,636,null,{"value":null}] >> 31:[0,637,"Marionette:GetContext"] << 32:[1,637,null,{"value":"content"}] >> 50:[0,638,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,638,null,{"value":null}] >> 306:[0,639,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_AUTH_CACHE === undefined) { return; } else { return clearDataService.CLEAR_AUTH_CACHE; } "}] << 27:[1,639,null,{"value":8192}] >> 31:[0,640,"Marionette:GetContext"] << 31:[1,640,null,{"value":"chrome"}] >> 51:[0,641,"Marionette:SetContext",{"value":"content"}] << 27:[1,641,null,{"value":null}] >> 31:[0,642,"Marionette:GetContext"] << 32:[1,642,null,{"value":"content"}] >> 50:[0,643,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,643,null,{"value":null}] >> 308:[0,644,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PERMISSIONS === undefined) { return; } else { return clearDataService.CLEAR_PERMISSIONS; } "}] << 33:[1,644,null,{"value":2147500032}] >> 31:[0,645,"Marionette:GetContext"] << 31:[1,645,null,{"value":"chrome"}] >> 51:[0,646,"Marionette:SetContext",{"value":"content"}] << 27:[1,646,null,{"value":null}] >> 31:[0,647,"Marionette:GetContext"] << 32:[1,647,null,{"value":"content"}] >> 50:[0,648,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,648,null,{"value":null}] >> 324:[0,649,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CONTENT_PREFERENCES === undefined) { return; } else { return clearDataService.CLEAR_CONTENT_PREFERENCES; } "}] << 28:[1,649,null,{"value":32768}] >> 31:[0,650,"Marionette:GetContext"] << 31:[1,650,null,{"value":"chrome"}] >> 51:[0,651,"Marionette:SetContext",{"value":"content"}] << 27:[1,651,null,{"value":null}] >> 31:[0,652,"Marionette:GetContext"] << 32:[1,652,null,{"value":"content"}] >> 50:[0,653,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,653,null,{"value":null}] >> 294:[0,654,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_HSTS === undefined) { return; } else { return clearDataService.CLEAR_HSTS; } "}] << 28:[1,654,null,{"value":65536}] >> 31:[0,655,"Marionette:GetContext"] << 31:[1,655,null,{"value":"chrome"}] >> 51:[0,656,"Marionette:SetContext",{"value":"content"}] << 27:[1,656,null,{"value":null}] >> 31:[0,657,"Marionette:GetContext"] << 32:[1,657,null,{"value":"content"}] >> 50:[0,658,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,658,null,{"value":null}] >> 292:[0,659,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_EME === undefined) { return; } else { return clearDataService.CLEAR_EME; } "}] << 29:[1,659,null,{"value":131072}] >> 31:[0,660,"Marionette:GetContext"] << 31:[1,660,null,{"value":"chrome"}] >> 51:[0,661,"Marionette:SetContext",{"value":"content"}] << 27:[1,661,null,{"value":null}] >> 31:[0,662,"Marionette:GetContext"] << 32:[1,662,null,{"value":"content"}] >> 50:[0,663,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,663,null,{"value":null}] >> 300:[0,664,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_REPORTS === undefined) { return; } else { return clearDataService.CLEAR_REPORTS; } "}] << 29:[1,664,null,{"value":262144}] >> 31:[0,665,"Marionette:GetContext"] << 31:[1,665,null,{"value":"chrome"}] >> 51:[0,666,"Marionette:SetContext",{"value":"content"}] << 27:[1,666,null,{"value":null}] >> 31:[0,667,"Marionette:GetContext"] << 32:[1,667,null,{"value":"content"}] >> 50:[0,668,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,668,null,{"value":null}] >> 314:[0,669,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_STORAGE_ACCESS === undefined) { return; } else { return clearDataService.CLEAR_STORAGE_ACCESS; } "}] << 29:[1,669,null,{"value":524288}] >> 31:[0,670,"Marionette:GetContext"] << 31:[1,670,null,{"value":"chrome"}] >> 51:[0,671,"Marionette:SetContext",{"value":"content"}] << 27:[1,671,null,{"value":null}] >> 31:[0,672,"Marionette:GetContext"] << 32:[1,672,null,{"value":"content"}] >> 50:[0,673,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,673,null,{"value":null}] >> 316:[0,674,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CERT_EXCEPTIONS === undefined) { return; } else { return clearDataService.CLEAR_CERT_EXCEPTIONS; } "}] << 30:[1,674,null,{"value":1048576}] >> 31:[0,675,"Marionette:GetContext"] << 31:[1,675,null,{"value":"chrome"}] >> 51:[0,676,"Marionette:SetContext",{"value":"content"}] << 27:[1,676,null,{"value":null}] >> 31:[0,677,"Marionette:GetContext"] << 32:[1,677,null,{"value":"content"}] >> 50:[0,678,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,678,null,{"value":null}] >> 334:[0,679,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CONTENT_BLOCKING_RECORDS === undefined) { return; } else { return clearDataService.CLEAR_CONTENT_BLOCKING_RECORDS; } "}] << 30:[1,679,null,{"value":2097152}] >> 31:[0,680,"Marionette:GetContext"] << 31:[1,680,null,{"value":"chrome"}] >> 51:[0,681,"Marionette:SetContext",{"value":"content"}] << 27:[1,681,null,{"value":null}] >> 31:[0,682,"Marionette:GetContext"] << 32:[1,682,null,{"value":"content"}] >> 50:[0,683,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,683,null,{"value":null}] >> 304:[0,684,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CSS_CACHE === undefined) { return; } else { return clearDataService.CLEAR_CSS_CACHE; } "}] << 30:[1,684,null,{"value":4194304}] >> 31:[0,685,"Marionette:GetContext"] << 31:[1,685,null,{"value":"chrome"}] >> 51:[0,686,"Marionette:SetContext",{"value":"content"}] << 27:[1,686,null,{"value":null}] >> 31:[0,687,"Marionette:GetContext"] << 32:[1,687,null,{"value":"content"}] >> 50:[0,688,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,688,null,{"value":null}] >> 316:[0,689,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_PREFLIGHT_CACHE === undefined) { return; } else { return clearDataService.CLEAR_PREFLIGHT_CACHE; } "}] << 30:[1,689,null,{"value":8388608}] >> 31:[0,690,"Marionette:GetContext"] << 31:[1,690,null,{"value":"chrome"}] >> 51:[0,691,"Marionette:SetContext",{"value":"content"}] << 27:[1,691,null,{"value":null}] >> 31:[0,692,"Marionette:GetContext"] << 32:[1,692,null,{"value":"content"}] >> 50:[0,693,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,693,null,{"value":null}] >> 342:[0,694,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CLIENT_AUTH_REMEMBER_SERVICE === undefined) { return; } else { return clearDataService.CLEAR_CLIENT_AUTH_REMEMBER_SERVICE; } "}] << 31:[1,694,null,{"value":16777216}] >> 31:[0,695,"Marionette:GetContext"] << 31:[1,695,null,{"value":"chrome"}] >> 51:[0,696,"Marionette:SetContext",{"value":"content"}] << 27:[1,696,null,{"value":null}] >> 31:[0,697,"Marionette:GetContext"] << 32:[1,697,null,{"value":"content"}] >> 50:[0,698,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,698,null,{"value":null}] >> 334:[0,699,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_CREDENTIAL_MANAGER_STATE === undefined) { return; } else { return clearDataService.CLEAR_CREDENTIAL_MANAGER_STATE; } "}] << 31:[1,699,null,{"value":33554432}] >> 31:[0,700,"Marionette:GetContext"] << 31:[1,700,null,{"value":"chrome"}] >> 51:[0,701,"Marionette:SetContext",{"value":"content"}] << 27:[1,701,null,{"value":null}] >> 31:[0,702,"Marionette:GetContext"] << 32:[1,702,null,{"value":"content"}] >> 50:[0,703,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,703,null,{"value":null}] >> 332:[0,704,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIE_BANNER_EXCEPTION === undefined) { return; } else { return clearDataService.CLEAR_COOKIE_BANNER_EXCEPTION; } "}] << 31:[1,704,null,{"value":67108864}] >> 31:[0,705,"Marionette:GetContext"] << 31:[1,705,null,{"value":"chrome"}] >> 51:[0,706,"Marionette:SetContext",{"value":"content"}] << 27:[1,706,null,{"value":null}] >> 31:[0,707,"Marionette:GetContext"] << 32:[1,707,null,{"value":"content"}] >> 50:[0,708,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,708,null,{"value":null}] >> 344:[0,709,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIE_BANNER_EXECUTED_RECORD === undefined) { return; } else { return clearDataService.CLEAR_COOKIE_BANNER_EXECUTED_RECORD; } "}] << 32:[1,709,null,{"value":134217728}] >> 31:[0,710,"Marionette:GetContext"] << 31:[1,710,null,{"value":"chrome"}] >> 51:[0,711,"Marionette:SetContext",{"value":"content"}] << 27:[1,711,null,{"value":null}] >> 31:[0,712,"Marionette:GetContext"] << 32:[1,712,null,{"value":"content"}] >> 50:[0,713,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,713,null,{"value":null}] >> 348:[0,714,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_FINGERPRINTING_PROTECTION_STATE === undefined) { return; } else { return clearDataService.CLEAR_FINGERPRINTING_PROTECTION_STATE; } "}] << 32:[1,714,null,{"value":268435456}] >> 31:[0,715,"Marionette:GetContext"] << 31:[1,715,null,{"value":"chrome"}] >> 51:[0,716,"Marionette:SetContext",{"value":"content"}] << 27:[1,716,null,{"value":null}] >> 31:[0,717,"Marionette:GetContext"] << 32:[1,717,null,{"value":"content"}] >> 50:[0,718,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,718,null,{"value":null}] >> 350:[0,719,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_BOUNCE_TRACKING_PROTECTION_STATE === undefined) { return; } else { return clearDataService.CLEAR_BOUNCE_TRACKING_PROTECTION_STATE; } "}] << 32:[1,719,null,{"value":536870912}] >> 31:[0,720,"Marionette:GetContext"] << 31:[1,720,null,{"value":"chrome"}] >> 51:[0,721,"Marionette:SetContext",{"value":"content"}] << 27:[1,721,null,{"value":null}] >> 31:[0,722,"Marionette:GetContext"] << 32:[1,722,null,{"value":"content"}] >> 50:[0,723,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,723,null,{"value":null}] >> 346:[0,724,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_MESSAGING_LAYER_SECURITY_STATE === undefined) { return; } else { return clearDataService.CLEAR_MESSAGING_LAYER_SECURITY_STATE; } "}] << 27:[1,724,null,{"value":2048}] >> 31:[0,725,"Marionette:GetContext"] << 31:[1,725,null,{"value":"chrome"}] >> 51:[0,726,"Marionette:SetContext",{"value":"content"}] << 27:[1,726,null,{"value":null}] >> 31:[0,727,"Marionette:GetContext"] << 32:[1,727,null,{"value":"content"}] >> 50:[0,728,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,728,null,{"value":null}] >> 324:[0,729,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_STORAGE_PERMISSIONS === undefined) { return; } else { return clearDataService.CLEAR_STORAGE_PERMISSIONS; } "}] << 33:[1,729,null,{"value":1073741824}] >> 31:[0,730,"Marionette:GetContext"] << 31:[1,730,null,{"value":"chrome"}] >> 51:[0,731,"Marionette:SetContext",{"value":"content"}] << 27:[1,731,null,{"value":null}] >> 31:[0,732,"Marionette:GetContext"] << 32:[1,732,null,{"value":"content"}] >> 50:[0,733,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,733,null,{"value":null}] >> 324:[0,734,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_SHUTDOWN_EXCEPTIONS === undefined) { return; } else { return clearDataService.CLEAR_SHUTDOWN_EXCEPTIONS; } "}] << 33:[1,734,null,{"value":2147483648}] >> 31:[0,735,"Marionette:GetContext"] << 31:[1,735,null,{"value":"chrome"}] >> 51:[0,736,"Marionette:SetContext",{"value":"content"}] << 27:[1,736,null,{"value":null}] >> 31:[0,737,"Marionette:GetContext"] << 32:[1,737,null,{"value":"content"}] >> 50:[0,738,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,738,null,{"value":null}] >> 292:[0,739,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_ALL === undefined) { return; } else { return clearDataService.CLEAR_ALL; } "}] << 33:[1,739,null,{"value":4294967295}] >> 31:[0,740,"Marionette:GetContext"] << 31:[1,740,null,{"value":"chrome"}] >> 51:[0,741,"Marionette:SetContext",{"value":"content"}] << 27:[1,741,null,{"value":null}] >> 31:[0,742,"Marionette:GetContext"] << 32:[1,742,null,{"value":"content"}] >> 50:[0,743,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,743,null,{"value":null}] >> 306:[0,744,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_ALL_CACHES === undefined) { return; } else { return clearDataService.CLEAR_ALL_CACHES; } "}] << 31:[1,744,null,{"value":12648462}] >> 31:[0,745,"Marionette:GetContext"] << 31:[1,745,null,{"value":"chrome"}] >> 51:[0,746,"Marionette:SetContext",{"value":"content"}] << 27:[1,746,null,{"value":null}] >> 31:[0,747,"Marionette:GetContext"] << 32:[1,747,null,{"value":"content"}] >> 50:[0,748,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,748,null,{"value":null}] >> 310:[0,749,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_DOM_STORAGES === undefined) { return; } else { return clearDataService.CLEAR_DOM_STORAGES; } "}] << 29:[1,749,null,{"value":262784}] >> 31:[0,750,"Marionette:GetContext"] << 31:[1,750,null,{"value":"chrome"}] >> 51:[0,751,"Marionette:SetContext",{"value":"content"}] << 27:[1,751,null,{"value":null}] >> 31:[0,752,"Marionette:GetContext"] << 32:[1,752,null,{"value":"content"}] >> 50:[0,753,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,753,null,{"value":null}] >> 320:[0,754,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_FORGET_ABOUT_SITE === undefined) { return; } else { return clearDataService.CLEAR_FORGET_ABOUT_SITE; } "}] << 33:[1,754,null,{"value":3218591647}] >> 31:[0,755,"Marionette:GetContext"] << 31:[1,755,null,{"value":"chrome"}] >> 51:[0,756,"Marionette:SetContext",{"value":"content"}] << 27:[1,756,null,{"value":null}] >> 31:[0,757,"Marionette:GetContext"] << 32:[1,757,null,{"value":"content"}] >> 50:[0,758,"Marionette:SetContext",{"value":"chrome"}] << 27:[1,758,null,{"value":null}] >> 328:[0,759,"WebDriver:ExecuteScript",{"script":"let clearDataService = Components.classes[\"@mozilla.org/clear-data-service;1\"].getService(Components.interfaces.nsIClearDataService); if (typeof clearDataService.CLEAR_COOKIES_AND_SITE_DATA === undefined) { return; } else { return clearDataService.CLEAR_COOKIES_AND_SITE_DATA; } "}] << 33:[1,759,null,{"value":2013739649}] >> 31:[0,760,"Marionette:GetContext"] << 31:[1,760,null,{"value":"chrome"}] >> 51:[0,761,"Marionette:SetContext",{"value":"content"}] << 27:[1,761,null,{"value":null}] >> 31:[0,762,"Marionette:GetContext"] << 32:[1,762,null,{"value":"content"}] >> 51:[0,763,"Marionette:SetContext",{"value":"content"}] << 27:[1,763,null,{"value":null}] >> 35:[0,764,"WebDriver:GetCapabilities"] << 790:[1,764,null,{"value":{"capabilities":{"acceptInsecureCerts":true,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2828316,"moz:profile":"/tmp/firefox_marionette_local_IGTxVYygG8L/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"capabilities":{"requiredCapabilities":{"acceptInsecureCerts":true}},"proxy":{}}}}] # Starting new firefox for testing logins # Testing has been running for 97 seconds at t/01-marionette.t line 2132 >> 52:[0,765,"Marionette:Quit",{"flags":["eAttemptQuit"]}] << 62:[1,765,null,{"cause":"shutdown","forced":false,"in_app":true}] # Starting new firefox for testing custom headers # Testing has been running for 107 seconds at t/01-marionette.t line 2887 # Starting new firefox for testing metacpan and iframe, with find, downloads, extensions and actions # Testing has been running for 107 seconds at t/01-marionette.t line 3063 # Starting new firefox for testing JSON from localhost and alerts and extensions # Testing has been running for 107 seconds at t/01-marionette.t line 4370 # Starting new firefox for testing proxy by argument, capabilities, window switching and certificates using proxy port TCP/38307 # Starting new firefox for testing %ENV proxy, min/maxing and killing firefox # Starting new firefox for testing visibility and TLS proxy servers # Starting new firefox for shortcut TLS proxy servers # Starting new firefox for shortcut normal proxy servers # Testing has been running for 107 seconds at t/01-marionette.t line 5407 # Testing has been running for 107 seconds at t/01-marionette.t line 5425 # Total runtime is 107 seconds t/01-marionette.t ..... ok 1 - Read 0 existing profiles ok 2 - No default profile ok 3 - No default waterfox profile ok 4 - Read existing profile if any ok 5 - Firefox::Marionette->new() threw an exception when launched with an incorrect path to a binary:Failed to open directory '/firefox/is/not':No such file or directory at t/01-marionette.t line 663 ok 6 - Firefox::Marionette->new() threw an exception when launched with a path to a non firefox binary:Firefox exited with a 25 at t/01-marionette.t line 668 ok 7 # skip No profile testing except for RELEASE_TESTING ok 8 # skip No profile testing except for RELEASE_TESTING ok 9 # skip No profile testing except for RELEASE_TESTING ok 10 # skip No profile testing except for RELEASE_TESTING ok 11 # skip No profile testing except for RELEASE_TESTING ok 12 # skip No profile testing except for RELEASE_TESTING ok 13 - Firefox::Marionette::Profile->new() correctly returns a new profile ok 14 - $profile->get_value('marionette.port') correctly returns 0 ok 15 - $profile->set_value('browser.link.open_newwindow', 2) to force new windows to appear ok 16 - $profile->set_value('browser.link.open_external', 2) to force new windows to appear ok 17 - $profile->set_value('browser.block.target_new_window', 'false') to force new windows to appear [GFX1-]: glxtest: libpci missing [GFX1-]: glxtest: libEGL missing [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt ok 18 - $firefox->root_directory() is /tmp/firefox_marionette_local_Ufl_aX8yUYv ok 19 - $firefox->debug() returns $ENV{FIREFOX_DEBUG}:1 ok 20 - Firefox has started in Marionette mode ok 21 - application/pkcs10 has been added to mime_types ok 22 - application/pdf was already in mime_types ok 23 - application/x-gzip was already in mime_types ok 24 - text/html should not be in mime_types ok 25 - shows an existing proxy setup ok 26 - Firefox is currently running in linux ok 27 - Firefox is currently running on x86_64 ok 28 - Firefox Platform version is 6.12.57+deb13-amd64 ok 29 - Firefox::Marionette->root_directory() returns the exising local directory:/tmp/firefox_marionette_local_Ufl_aX8yUYv ok 30 - $firefox->application_type() returns gecko ok 31 - $firefox->marionette_protocol() returns 3 ok 32 - $firefox->window_type() returns 'navigator:browser':navigator:browser ok 33 - $firefox->sleep_time_in_ms() is 1 millisecond ok 34 - Window used to have a X position of 0 ok 35 - Window used to have a Y position of 0 ok 36 - Window used to have a width of 1366 ok 37 - Window used to have a height of 768 ok 38 - Window has a X position of 3 ok 39 - Window has a Y position of 23 ok 40 - Window has a width of 326:450 ok 41 - Window has a height of 452 not ok 42 - Window has a state of # TODO 140.5.0 probably does not have support for $firefox->window_rect()->wstate() # Failed (TODO) test 'Window has a state of ' # at t/01-marionette.t line 934. ok 43 - Window has a X position of 3 ok 44 - Window has a Y position of 23 ok 45 - Window has a width of 450 ok 46 - Window has a height of 452 ok 47 - $firefox->timeouts($new) returns a Firefox::Marionette::Timeouts object ok 48 - $firefox->timeouts() returns a Firefox::Marionette::Timeouts object ok 49 - $timeouts->page_load() is 5 minutes ok 50 - $timeouts->script() is 30 seconds ok 51 - $timeouts->implicit() is 0 milliseconds ok 52 - $timeouts->page_load() is 45043 ok 53 - $timeouts->script() is 48021 ok 54 - $timeouts->implicit() is 41001 ok 55 - navigator.webdriver returns true:1 # TODO Some installations of firefox can default to webdriver being off ok 56 - Firefox does not have a value for child_error ok 57 - Firefox is still alive ok 58 - Opening new window to about:blank via 'window.open' script ok 59 - Closed new tab/window ok 60 # skip Deleting and re-creating sessions can hang firefox for old versions ok 61 - Firefox has closed with an integer exit status of 0 ok 62 - Firefox returns 0 for the child error, matching the return value of quit():0:0 ok 63 - Firefox is not still alive ok 64 # skip No survive testing except for RELEASE_TESTING ok 65 # skip No survive testing except for RELEASE_TESTING ok 66 # skip No survive testing except for RELEASE_TESTING ok 67 # skip No survive testing except for RELEASE_TESTING ok 68 # skip No survive testing except for RELEASE_TESTING ok 69 # skip No survive testing except for RELEASE_TESTING ok 70 # skip No survive testing except for RELEASE_TESTING ok 71 # skip No survive testing except for RELEASE_TESTING [GFX1-]: glxtest: libpci missing [GFX1-]: glxtest: libEGL missing [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt ok 72 - $firefox->root_directory() is /tmp/firefox_marionette_local_zL7LW1YyBdv ok 73 - Firefox has started in Marionette mode with definable capabilities set to known values ok 74 - $firefox->har() throws an exception when har has not been setup:javascript error: TypeError: can't access property "triggerExport", window.HAR is undefined at t/01-marionette.t line 1210 ok 75 - Retrieved bookmark from edge import ok 76 - $bookmark->url() returns a URI::URL object ok 77 - $bookmark->url() is 'https://metacpan.org/pod/Firefox::Marionette':https://metacpan.org/pod/Firefox::Marionette ok 78 - $bookmark->date_added() is Thu Jun 1 09:16:12 2023 ok 79 - $bookmark->title() is 'Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org':Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org ok 80 - $bookmark->type() is Firefox::Marionette::Bookmark::BOOKMARK():1 ok 81 - $bookmark->parent_guid() AVX3RVYKpIH1 ok 82 - $bookmark->guid() is k9cqQ77UXOuy ok 83 - $bookmark->url() is 'https://perlmonks.org/':https://perlmonks.org/ ok 84 - $bookmark->date_added() is Sat Jun 10 02:28:01 2023 ok 85 - $bookmark->title() is 'PerlMonks - The Monastery Gates':PerlMonks - The Monastery Gates ok 86 - $bookmark->type() is Firefox::Marionette::Bookmark::BOOKMARK():1 ok 87 - $bookmark->parent_guid() is menu________ ok 88 - $bookmark->guid() is CJeb1BVstTCR ok 89 - $bookmark->icon_url() is not defined ok 90 - $bookmark->icon() is not defined ok 91 - $firefox->sleep_time_in_ms() is 5 milliseconds ok 92 - $firefox->capabilities() returns a Firefox::Marionette::Capabilities object ok 93 - $capabilities->set_window_rect() is a 0 or 1 ok 94 - $capabilities->unhandled_prompt_behavior() is 'accept and notify' ok 95 - $capabilities->moz_shutdown_timeout() is an integer ok 96 - $capabilities->strict_file_interactability() is set to true ok 97 - $capabilities->page_load_strategy() is 'eager' ok 98 - $capabilities->accept_insecure_certs() is set to true ok 99 - $capabilities->moz_webdriver_click() is set to true ok 100 - $capabilities->moz_use_non_spec_compliant_pointer_origin() is not defined ok 101 - $capabilities->moz_accessibility_checks() is set to true ok 102 - $capabilities->moz_headless() is set to false ok 103 - $firefox->capabilities() returns a Firefox::Marionette::Capabilities object ok 104 - $capabilities->proxy()->type() is 'manual' ok 105 - $capabilities->proxy()->http() is 'localhost:38875':localhost:38875 ok 106 - $capabilities->proxy()->https() is 'localhost:47519' ok 107 - $capabilities->timeouts()->page_load() is '54,321' ok 108 - $capabilities->timeouts()->script() is '4,567' ok 109 - $capabilities->timeouts()->implicit() is '6,543' ok 110 - $capabilities->proxy()->socks() is 'localhost:42175':localhost:42175 ok 111 - $capabilities->proxy()->socks_version() is 5 ok 112 - $capabilities->proxy()->none() is a reference to a list with 1 element ok 113 # skip Skipping proxy forks except for RELEASE_TESTING=1 ok 114 - Firefox has closed with an exit status of 0:0 [GFX1-]: glxtest: libpci missing [GFX1-]: glxtest: libEGL missing 1763498123864 Marionette INFO Listening on port 36475 1763498127717 RemoteAgent INFO Proxy settings initialized: {"proxyType":"pac","proxyAutoconfigUrl":"http://localhost:54843"} [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt ok 115 - $firefox->root_directory() is /tmp/firefox_marionette_local_KxiKNYM_eeA ok 116 - Firefox has started in Marionette mode with definable capabilities set to known values ok 117 - $firefox->capabilities() returns a Firefox::Marionette::Capabilities object ok 118 - $capabilities->proxy()->type() is 'pac' ok 119 - $capabilities->proxy()->pac()->host() is 'localhost' ok 120 - $firefox->capabilities()->timeouts()->page_load() correctly reflects the page_load shortcut timeout ok 121 - $geo2->latitude() is correctly reported as 40:40 ok 122 - $geo2->longitude() is correctly reported as 24:24 1763498140541 Marionette INFO Stopped listening on port 36475 ok 123 - Firefox has closed with an exit status of 0:0 ok 124 # skip Skipping b/c proxy seems to cause hangs ok 125 # skip Skipping b/c proxy seems to cause hangs ok 126 # skip Skipping b/c proxy seems to cause hangs ok 127 # skip Skipping b/c proxy seems to cause hangs ok 128 # skip Skipping b/c proxy seems to cause hangs ok 129 # skip Skipping b/c proxy seems to cause hangs ok 130 # skip Skipping b/c proxy seems to cause hangs [GFX1-]: glxtest: libpci missing [GFX1-]: glxtest: libEGL missing [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt ok 131 - $firefox->root_directory() is /tmp/firefox_marionette_local_IGTxVYygG8L ok 132 - Firefox has started in Marionette mode with definable capabilities set to known values ok 133 - Retrieved bookmark from chrome import as https://metacpan.org/pod/Firefox::Marionette ok 134 - $bookmark->url() is 'https://metacpan.org/pod/Firefox::Marionette':https://metacpan.org/pod/Firefox::Marionette ok 135 - $bookmark->date_added() is Thu Jun 1 09:16:12 2023 ok 136 - $bookmark->title() is 'Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org':Firefox::Marionette - Automate the Firefox browser with the Marionette protocol - metacpan.org ok 137 - $bookmark->type() is Firefox::Marionette::Bookmark::BOOKMARK():1 ok 138 - $bookmark->parent_guid() is 0VTsY1xbiZXQ ok 139 - $bookmark->guid() is Ghvgbgv8AtaT ok 140 - $bookmark->url() is 'https://perlmonks.org/':https://perlmonks.org/ ok 141 - $bookmark->date_added() is Sat Jun 10 02:28:01 2023 ok 142 - $bookmark->title() is 'PerlMonks - The Monastery Gates':PerlMonks - The Monastery Gates ok 143 - $bookmark->type() is Firefox::Marionette::Bookmark::BOOKMARK():1 ok 144 - $bookmark->parent_guid() is menu________ ok 145 - $bookmark->guid() is oTRLhTO7d4vn ok 146 - $bookmark->icon_url() is not defined ok 147 - $bookmark->icon() is not defined ok 148 - Retrieved the ARIA label correctly:Close ok 149 - Retrieved the ARIA label correctly:Close ok 150 - Retrieved the ARIA role correctly:button ok 151 - Retrieved the ARIA label correctly:button ok 152 - $firefox->languages() equals navigator.languages:'en-US, en' vs 'en-US, en' ok 153 - $firefox->languages(split q[, ], "en-AU, en-GB, en") returns correctly ok 154 - $firefox->languages() equals navigator.languages:'en-AU, en-GB, en' vs 'en-AU, en-GB, en' ok 155 - $firefox->languages("en-GB") returns correctly ok 156 - $firefox->languages() matches navigator.language b/c there is only one entry:'en-GB' vs 'en-GB' ok 157 - $firefox->agent($test_agent_string) returns the original user agent string of 'Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0' ok 158 - $firefox->go("file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/elements.html") loaded successfully ok 159 - $firefox->agent(undef) returns 'Firefox::Marionette v1.68 test suite':Firefox::Marionette v1.68 test suite ok 160 - Deleted element with 'add' class ok 161 - Deleted 'add' element cannot be found in the DOM ok 162 - Deleted element with 'update' class ok 163 - Deleted 'update' element cannot be found in the DOM ok 164 - $firefox->go("file:///build/reproducible-path/libfirefox-marionette-perl-1.68/t/data/elements.html") loaded successfully again ok 165 - $firefox->agent() returns the original user agent string 'Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0':Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0 ok 166 - $firefox->has_tag('span') has children and the first child is an Firefox::Marionette::Element with a tag_name of 'button' ok 167 - $firefox->has_tag('custom-square') returns a Firefox::Marionette::Element ok 168 - $span->shadowy() returns false ok 169 - $custom_square->shadowy() returns true ok 170 - First element from scripted shadowRoot is a style tag ok 171 - $firefox->has_tag('custom-square')->shadow_root() returns a Firefox::Marionette::ShadowRoot ok 172 - First element from ShadowRoot via script is a style tag ok 173 - Second element from ShadowRoot via script is a div tag ok 174 - $firefox->has_tag('custom-square')->shadow_root() has 2 children:6 ok 175 - $firefox->has_tag('custom-square')->shadow_root() returns a Firefox::Marionette::ShadowRoot ok 176 - Element returned from ShadowRoot via script is a style tag ok 177 - First element is the numeric 2 ok 178 - Second element from ShadowRoot via script is a style tag ok 179 - $firefox->script() correctly returns an array with 2 elements ok 180 - Correctly found shadow element with find_id ok 181 - Correctly found shadow span with find_tag ok 182 - Correctly found shadow span with find_tag ok 183 - There are 2 span elements in the custom-square element ok 184 - There are 0 notag elements in the custom-square element ok 185 - Correctly found shadow element with find_name ok 186 - Correctly found shadow element with find_class ok 187 - Correctly found shadow element with find_link ok 188 - Correctly found shadow element with find_partial not ok 189 - Correctly found shadow element with find (xpath): # TODO xpath is not supported as a strategy for find in the shadow DOM # Failed (TODO) test 'Correctly found shadow element with find (xpath):' # at t/01-marionette.t line 1743. ok 190 - Value returned from script is the numeric 2 in an array ok 191 - Value returned from script is a Firefox::Marionette::Element for a 'span' in an array ok 192 - Value returned from script is a Firefox::Marionette::Element for a 'span' in a hash ok 193 - Value returned from script is the numeric 2 ok 194 - Value returned from script is the numeric 2 in a hash ok 195 - navigator.webdriver returns false when stealth is on ok 196 - $firefox->check_cache_key(CLEAR_COOKIES) eq Firefox::Marionette::Cache::CLEAR_COOKIES which should be 1 and is 1 ok 197 - $firefox->check_cache_key(CLEAR_NETWORK_CACHE) eq Firefox::Marionette::Cache::CLEAR_NETWORK_CACHE which should be 2 and is 2 ok 198 - $firefox->check_cache_key(CLEAR_IMAGE_CACHE) eq Firefox::Marionette::Cache::CLEAR_IMAGE_CACHE which should be 4 and is 4 ok 199 - $firefox->check_cache_key(CLEAR_JS_CACHE) eq Firefox::Marionette::Cache::CLEAR_JS_CACHE which should be 8 and is 8 ok 200 - $firefox->check_cache_key(CLEAR_DOWNLOADS) eq Firefox::Marionette::Cache::CLEAR_DOWNLOADS which should be 16 and is 16 ok 201 - $firefox->check_cache_key(CLEAR_MEDIA_DEVICES) eq Firefox::Marionette::Cache::CLEAR_MEDIA_DEVICES which should be 64 and is 64 ok 202 - $firefox->check_cache_key(CLEAR_DOM_QUOTA) eq Firefox::Marionette::Cache::CLEAR_DOM_QUOTA which should be 128 and is 128 ok 203 - $firefox->check_cache_key(CLEAR_PREDICTOR_NETWORK_DATA) eq Firefox::Marionette::Cache::CLEAR_PREDICTOR_NETWORK_DATA which should be 256 and is 256 ok 204 - $firefox->check_cache_key(CLEAR_DOM_PUSH_NOTIFICATIONS) eq Firefox::Marionette::Cache::CLEAR_DOM_PUSH_NOTIFICATIONS which should be 512 and is 512 ok 205 - $firefox->check_cache_key(CLEAR_HISTORY) eq Firefox::Marionette::Cache::CLEAR_HISTORY which should be 1024 and is 1024 ok 206 - $firefox->check_cache_key(CLEAR_AUTH_TOKENS) eq Firefox::Marionette::Cache::CLEAR_AUTH_TOKENS which should be 4096 and is 4096 ok 207 - $firefox->check_cache_key(CLEAR_AUTH_CACHE) eq Firefox::Marionette::Cache::CLEAR_AUTH_CACHE which should be 8192 and is 8192 ok 208 - $firefox->check_cache_key(CLEAR_PERMISSIONS) eq Firefox::Marionette::Cache::CLEAR_PERMISSIONS which should be 2147500032 and is 2147500032 ok 209 - $firefox->check_cache_key(CLEAR_CONTENT_PREFERENCES) eq Firefox::Marionette::Cache::CLEAR_CONTENT_PREFERENCES which should be 32768 and is 32768 ok 210 - $firefox->check_cache_key(CLEAR_HSTS) eq Firefox::Marionette::Cache::CLEAR_HSTS which should be 65536 and is 65536 ok 211 - $firefox->check_cache_key(CLEAR_EME) eq Firefox::Marionette::Cache::CLEAR_EME which should be 131072 and is 131072 ok 212 - $firefox->check_cache_key(CLEAR_REPORTS) eq Firefox::Marionette::Cache::CLEAR_REPORTS which should be 262144 and is 262144 ok 213 - $firefox->check_cache_key(CLEAR_STORAGE_ACCESS) eq Firefox::Marionette::Cache::CLEAR_STORAGE_ACCESS which should be 524288 and is 524288 ok 214 - $firefox->check_cache_key(CLEAR_CERT_EXCEPTIONS) eq Firefox::Marionette::Cache::CLEAR_CERT_EXCEPTIONS which should be 1048576 and is 1048576 ok 215 - $firefox->check_cache_key(CLEAR_CONTENT_BLOCKING_RECORDS) eq Firefox::Marionette::Cache::CLEAR_CONTENT_BLOCKING_RECORDS which should be 2097152 and is 2097152 ok 216 - $firefox->check_cache_key(CLEAR_CSS_CACHE) eq Firefox::Marionette::Cache::CLEAR_CSS_CACHE which should be 4194304 and is 4194304 ok 217 - $firefox->check_cache_key(CLEAR_PREFLIGHT_CACHE) eq Firefox::Marionette::Cache::CLEAR_PREFLIGHT_CACHE which should be 8388608 and is 8388608 ok 218 - $firefox->check_cache_key(CLEAR_CLIENT_AUTH_REMEMBER_SERVICE) eq Firefox::Marionette::Cache::CLEAR_CLIENT_AUTH_REMEMBER_SERVICE which should be 16777216 and is 16777216 ok 219 - $firefox->check_cache_key(CLEAR_CREDENTIAL_MANAGER_STATE) eq Firefox::Marionette::Cache::CLEAR_CREDENTIAL_MANAGER_STATE which should be 33554432 and is 33554432 ok 220 - $firefox->check_cache_key(CLEAR_COOKIE_BANNER_EXCEPTION) eq Firefox::Marionette::Cache::CLEAR_COOKIE_BANNER_EXCEPTION which should be 67108864 and is 67108864 ok 221 - $firefox->check_cache_key(CLEAR_COOKIE_BANNER_EXECUTED_RECORD) eq Firefox::Marionette::Cache::CLEAR_COOKIE_BANNER_EXECUTED_RECORD which should be 134217728 and is 134217728 ok 222 - $firefox->check_cache_key(CLEAR_FINGERPRINTING_PROTECTION_STATE) eq Firefox::Marionette::Cache::CLEAR_FINGERPRINTING_PROTECTION_STATE which should be 268435456 and is 268435456 ok 223 - $firefox->check_cache_key(CLEAR_BOUNCE_TRACKING_PROTECTION_STATE) eq Firefox::Marionette::Cache::CLEAR_BOUNCE_TRACKING_PROTECTION_STATE which should be 536870912 and is 536870912 ok 224 - $firefox->check_cache_key(CLEAR_MESSAGING_LAYER_SECURITY_STATE) eq Firefox::Marionette::Cache::CLEAR_MESSAGING_LAYER_SECURITY_STATE which should be 2048 and is 2048 ok 225 - $firefox->check_cache_key(CLEAR_STORAGE_PERMISSIONS) eq Firefox::Marionette::Cache::CLEAR_STORAGE_PERMISSIONS which should be 1073741824 and is 1073741824 ok 226 - $firefox->check_cache_key(CLEAR_SHUTDOWN_EXCEPTIONS) eq Firefox::Marionette::Cache::CLEAR_SHUTDOWN_EXCEPTIONS which should be 2147483648 and is 2147483648 ok 227 - $firefox->check_cache_key(CLEAR_ALL) eq Firefox::Marionette::Cache::CLEAR_ALL which should be 4294967295 and is 4294967295 ok 228 - $firefox->check_cache_key(CLEAR_ALL_CACHES) eq Firefox::Marionette::Cache::CLEAR_ALL_CACHES which should be 12648462 and is 12648462 ok 229 - $firefox->check_cache_key(CLEAR_DOM_STORAGES) eq Firefox::Marionette::Cache::CLEAR_DOM_STORAGES which should be 262784 and is 262784 ok 230 - $firefox->check_cache_key(CLEAR_FORGET_ABOUT_SITE) eq Firefox::Marionette::Cache::CLEAR_FORGET_ABOUT_SITE which should be 3218591647 and is 3218591647 ok 231 - $firefox->check_cache_key(CLEAR_COOKIES_AND_SITE_DATA) eq Firefox::Marionette::Cache::CLEAR_COOKIES_AND_SITE_DATA which should be 2013739649 and is 2013739649 ok 232 - $firefox->check_cache_key() throws an exception ok 233 - $firefox->check_cache_key("123!\#") throws an exception ok 234 - $firefox->content() is called in case of previous exceptions getting the context out of sync ok 235 - $firefox->capabilities() returns a Firefox::Marionette::Capabilities object ok 236 - $capabilities->accept_insecure_certs() is true ok 237 # skip Skipping network tests ok 238 # skip Skipping network tests ok 239 # skip Skipping network tests ok 240 # skip Running out of time. Trying to shutdown tests as fast as possible ok 241 # skip Running out of time. Trying to shutdown tests as fast as possible ok 242 # skip Running out of time. Trying to shutdown tests as fast as possible ok 243 # skip Running out of time. Trying to shutdown tests as fast as possible ok 244 # skip Running out of time. Trying to shutdown tests as fast as possible ok 245 # skip Running out of time. Trying to shutdown tests as fast as possible ok 246 # skip Running out of time. Trying to shutdown tests as fast as possible ok 247 # skip Running out of time. Trying to shutdown tests as fast as possible ok 248 # skip Running out of time. Trying to shutdown tests as fast as possible ok 249 # skip Running out of time. Trying to shutdown tests as fast as possible ok 250 # skip Running out of time. Trying to shutdown tests as fast as possible ok 251 # skip Running out of time. Trying to shutdown tests as fast as possible ok 252 # skip Running out of time. Trying to shutdown tests as fast as possible ok 253 # skip Running out of time. Trying to shutdown tests as fast as possible ok 254 # skip Running out of time. Trying to shutdown tests as fast as possible ok 255 # skip Running out of time. Trying to shutdown tests as fast as possible ok 256 # skip Running out of time. Trying to shutdown tests as fast as possible ok 257 # skip Running out of time. Trying to shutdown tests as fast as possible ok 258 # skip Running out of time. Trying to shutdown tests as fast as possible ok 259 # skip Running out of time. Trying to shutdown tests as fast as possible ok 260 # skip Running out of time. Trying to shutdown tests as fast as possible ok 261 # skip Running out of time. Trying to shutdown tests as fast as possible ok 262 # skip Running out of time. Trying to shutdown tests as fast as possible ok 263 # skip Running out of time. Trying to shutdown tests as fast as possible ok 264 # skip Running out of time. Trying to shutdown tests as fast as possible ok 265 # skip Running out of time. Trying to shutdown tests as fast as possible ok 266 # skip Running out of time. Trying to shutdown tests as fast as possible ok 267 # skip Running out of time. Trying to shutdown tests as fast as possible ok 268 # skip Running out of time. Trying to shutdown tests as fast as possible ok 269 # skip Running out of time. Trying to shutdown tests as fast as possible ok 270 # skip Running out of time. Trying to shutdown tests as fast as possible ok 271 # skip Running out of time. Trying to shutdown tests as fast as possible ok 272 # skip Running out of time. Trying to shutdown tests as fast as possible ok 273 # skip Running out of time. Trying to shutdown tests as fast as possible ok 274 # skip Running out of time. Trying to shutdown tests as fast as possible ok 275 # skip Running out of time. Trying to shutdown tests as fast as possible ok 276 # skip Running out of time. Trying to shutdown tests as fast as possible ok 277 # skip Running out of time. Trying to shutdown tests as fast as possible ok 278 # skip Running out of time. Trying to shutdown tests as fast as possible ok 279 # skip Running out of time. Trying to shutdown tests as fast as possible ok 280 # skip Running out of time. Trying to shutdown tests as fast as possible ok 281 # skip Running out of time. Trying to shutdown tests as fast as possible ok 282 # skip Running out of time. Trying to shutdown tests as fast as possible ok 283 # skip Running out of time. Trying to shutdown tests as fast as possible ok 284 # skip Running out of time. Trying to shutdown tests as fast as possible ok 285 # skip Running out of time. Trying to shutdown tests as fast as possible ok 286 # skip Running out of time. Trying to shutdown tests as fast as possible ok 287 # skip Running out of time. Trying to shutdown tests as fast as possible ok 288 # skip Running out of time. Trying to shutdown tests as fast as possible ok 289 # skip Running out of time. Trying to shutdown tests as fast as possible ok 290 # skip Running out of time. Trying to shutdown tests as fast as possible ok 291 # skip Running out of time. Trying to shutdown tests as fast as possible ok 292 # skip Running out of time. Trying to shutdown tests as fast as possible ok 293 # skip Running out of time. Trying to shutdown tests as fast as possible ok 294 # skip Running out of time. Trying to shutdown tests as fast as possible ok 295 # skip Running out of time. Trying to shutdown tests as fast as possible ok 296 # skip Running out of time. Trying to shutdown tests as fast as possible ok 297 # skip Running out of time. Trying to shutdown tests as fast as possible ok 298 # skip Running out of time. Trying to shutdown tests as fast as possible ok 299 # skip Running out of time. Trying to shutdown tests as fast as possible ok 300 # skip Running out of time. Trying to shutdown tests as fast as possible ok 301 # skip Running out of time. Trying to shutdown tests as fast as possible ok 302 # skip Running out of time. Trying to shutdown tests as fast as possible ok 303 # skip Running out of time. Trying to shutdown tests as fast as possible ok 304 # skip Running out of time. Trying to shutdown tests as fast as possible ok 305 # skip Running out of time. Trying to shutdown tests as fast as possible ok 306 # skip Running out of time. Trying to shutdown tests as fast as possible ok 307 # skip Running out of time. Trying to shutdown tests as fast as possible ok 308 # skip Running out of time. Trying to shutdown tests as fast as possible ok 309 # skip Running out of time. Trying to shutdown tests as fast as possible ok 310 # skip Running out of time. Trying to shutdown tests as fast as possible ok 311 # skip Running out of time. Trying to shutdown tests as fast as possible ok 312 # skip Running out of time. Trying to shutdown tests as fast as possible ok 313 # skip Running out of time. Trying to shutdown tests as fast as possible ok 314 # skip Running out of time. Trying to shutdown tests as fast as possible ok 315 # skip Running out of time. Trying to shutdown tests as fast as possible ok 316 # skip Running out of time. Trying to shutdown tests as fast as possible ok 317 # skip Running out of time. Trying to shutdown tests as fast as possible ok 318 # skip Running out of time. Trying to shutdown tests as fast as possible ok 319 # skip Running out of time. Trying to shutdown tests as fast as possible ok 320 # skip Running out of time. Trying to shutdown tests as fast as possible ok 321 # skip Running out of time. Trying to shutdown tests as fast as possible ok 322 # skip Running out of time. Trying to shutdown tests as fast as possible ok 323 # skip Running out of time. Trying to shutdown tests as fast as possible ok 324 # skip Running out of time. Trying to shutdown tests as fast as possible ok 325 # skip Running out of time. Trying to shutdown tests as fast as possible ok 326 # skip Running out of time. Trying to shutdown tests as fast as possible ok 327 # skip Running out of time. Trying to shutdown tests as fast as possible ok 328 # skip Running out of time. Trying to shutdown tests as fast as possible ok 329 # skip Running out of time. Trying to shutdown tests as fast as possible ok 330 # skip Running out of time. Trying to shutdown tests as fast as possible ok 331 # skip Running out of time. Trying to shutdown tests as fast as possible ok 332 # skip Running out of time. Trying to shutdown tests as fast as possible ok 333 # skip Running out of time. Trying to shutdown tests as fast as possible ok 334 # skip Running out of time. Trying to shutdown tests as fast as possible ok 335 # skip Running out of time. Trying to shutdown tests as fast as possible ok 336 # skip Running out of time. Trying to shutdown tests as fast as possible ok 337 # skip Running out of time. Trying to shutdown tests as fast as possible ok 338 # skip Running out of time. Trying to shutdown tests as fast as possible ok 339 # skip Running out of time. Trying to shutdown tests as fast as possible ok 340 # skip Running out of time. Trying to shutdown tests as fast as possible ok 341 # skip Running out of time. Trying to shutdown tests as fast as possible ok 342 # skip Running out of time. Trying to shutdown tests as fast as possible ok 343 # skip Running out of time. Trying to shutdown tests as fast as possible ok 344 # skip Running out of time. Trying to shutdown tests as fast as possible ok 345 # skip Running out of time. Trying to shutdown tests as fast as possible ok 346 # skip Running out of time. Trying to shutdown tests as fast as possible ok 347 # skip Running out of time. Trying to shutdown tests as fast as possible ok 348 # skip Running out of time. Trying to shutdown tests as fast as possible ok 349 # skip Running out of time. Trying to shutdown tests as fast as possible ok 350 # skip Running out of time. Trying to shutdown tests as fast as possible ok 351 # skip Running out of time. Trying to shutdown tests as fast as possible ok 352 # skip Running out of time. Trying to shutdown tests as fast as possible ok 353 # skip Running out of time. Trying to shutdown tests as fast as possible ok 354 # skip Running out of time. Trying to shutdown tests as fast as possible ok 355 # skip Running out of time. Trying to shutdown tests as fast as possible ok 356 # skip Running out of time. Trying to shutdown tests as fast as possible ok 357 # skip Running out of time. Trying to shutdown tests as fast as possible ok 358 # skip Running out of time. Trying to shutdown tests as fast as possible ok 359 # skip Running out of time. Trying to shutdown tests as fast as possible ok 360 # skip Running out of time. Trying to shutdown tests as fast as possible ok 361 # skip Running out of time. Trying to shutdown tests as fast as possible ok 362 # skip Running out of time. Trying to shutdown tests as fast as possible ok 363 # skip Running out of time. Trying to shutdown tests as fast as possible ok 364 # skip Running out of time. Trying to shutdown tests as fast as possible ok 365 # skip Running out of time. Trying to shutdown tests as fast as possible ok 366 # skip Running out of time. Trying to shutdown tests as fast as possible ok 367 # skip Running out of time. Trying to shutdown tests as fast as possible ok 368 # skip Running out of time. Trying to shutdown tests as fast as possible ok 369 # skip Running out of time. Trying to shutdown tests as fast as possible ok 370 # skip Running out of time. Trying to shutdown tests as fast as possible ok 371 # skip Running out of time. Trying to shutdown tests as fast as possible ok 372 # skip Running out of time. Trying to shutdown tests as fast as possible ok 373 # skip Running out of time. Trying to shutdown tests as fast as possible ok 374 # skip Running out of time. Trying to shutdown tests as fast as possible ok 375 # skip Running out of time. Trying to shutdown tests as fast as possible ok 376 # skip Running out of time. Trying to shutdown tests as fast as possible ok 377 # skip Running out of time. Trying to shutdown tests as fast as possible ok 378 # skip Running out of time. Trying to shutdown tests as fast as possible ok 379 # skip Running out of time. Trying to shutdown tests as fast as possible ok 380 # skip Running out of time. Trying to shutdown tests as fast as possible ok 381 # skip Running out of time. Trying to shutdown tests as fast as possible ok 382 # skip Running out of time. Trying to shutdown tests as fast as possible ok 383 # skip Running out of time. Trying to shutdown tests as fast as possible ok 384 # skip Running out of time. Trying to shutdown tests as fast as possible ok 385 # skip Running out of time. Trying to shutdown tests as fast as possible ok 386 # skip Running out of time. Trying to shutdown tests as fast as possible ok 387 # skip Running out of time. Trying to shutdown tests as fast as possible ok 388 # skip Running out of time. Trying to shutdown tests as fast as possible ok 389 # skip Running out of time. Trying to shutdown tests as fast as possible ok 390 # skip Running out of time. Trying to shutdown tests as fast as possible ok 391 # skip Running out of time. Trying to shutdown tests as fast as possible ok 392 # skip Running out of time. Trying to shutdown tests as fast as possible ok 393 # skip Running out of time. Trying to shutdown tests as fast as possible ok 394 # skip Running out of time. Trying to shutdown tests as fast as possible ok 395 # skip Running out of time. Trying to shutdown tests as fast as possible ok 396 # skip Running out of time. Trying to shutdown tests as fast as possible ok 397 # skip Running out of time. Trying to shutdown tests as fast as possible ok 398 # skip Running out of time. Trying to shutdown tests as fast as possible ok 399 # skip Running out of time. Trying to shutdown tests as fast as possible ok 400 # skip Running out of time. Trying to shutdown tests as fast as possible ok 401 # skip Running out of time. Trying to shutdown tests as fast as possible ok 402 # skip Running out of time. Trying to shutdown tests as fast as possible ok 403 # skip Running out of time. Trying to shutdown tests as fast as possible ok 404 # skip Running out of time. Trying to shutdown tests as fast as possible ok 405 # skip Running out of time. Trying to shutdown tests as fast as possible ok 406 # skip Running out of time. Trying to shutdown tests as fast as possible ok 407 # skip Running out of time. Trying to shutdown tests as fast as possible ok 408 # skip Running out of time. Trying to shutdown tests as fast as possible ok 409 # skip Running out of time. Trying to shutdown tests as fast as possible ok 410 # skip Running out of time. Trying to shutdown tests as fast as possible ok 411 # skip Running out of time. Trying to shutdown tests as fast as possible ok 412 # skip Running out of time. Trying to shutdown tests as fast as possible ok 413 # skip Running out of time. Trying to shutdown tests as fast as possible ok 414 # skip Running out of time. Trying to shutdown tests as fast as possible ok 415 # skip Running out of time. Trying to shutdown tests as fast as possible ok 416 # skip Running out of time. Trying to shutdown tests as fast as possible ok 417 # skip Running out of time. Trying to shutdown tests as fast as possible ok 418 # skip Running out of time. Trying to shutdown tests as fast as possible ok 419 # skip Running out of time. Trying to shutdown tests as fast as possible ok 420 # skip Running out of time. Trying to shutdown tests as fast as possible ok 421 # skip Running out of time. Trying to shutdown tests as fast as possible ok 422 # skip Running out of time. Trying to shutdown tests as fast as possible ok 423 # skip Running out of time. Trying to shutdown tests as fast as possible ok 424 # skip Running out of time. Trying to shutdown tests as fast as possible ok 425 # skip Running out of time. Trying to shutdown tests as fast as possible ok 426 # skip Running out of time. Trying to shutdown tests as fast as possible ok 427 # skip Running out of time. Trying to shutdown tests as fast as possible ok 428 # skip Running out of time. Trying to shutdown tests as fast as possible ok 429 # skip Running out of time. Trying to shutdown tests as fast as possible ok 430 # skip Running out of time. Trying to shutdown tests as fast as possible ok 431 # skip Running out of time. Trying to shutdown tests as fast as possible ok 432 # skip Running out of time. Trying to shutdown tests as fast as possible ok 433 # skip Running out of time. Trying to shutdown tests as fast as possible ok 434 # skip Running out of time. Trying to shutdown tests as fast as possible ok 435 # skip Running out of time. Trying to shutdown tests as fast as possible ok 436 # skip Running out of time. Trying to shutdown tests as fast as possible ok 437 # skip Running out of time. Trying to shutdown tests as fast as possible ok 438 # skip Running out of time. Trying to shutdown tests as fast as possible ok 439 # skip Running out of time. Trying to shutdown tests as fast as possible ok 440 # skip Running out of time. Trying to shutdown tests as fast as possible ok 441 # skip Running out of time. Trying to shutdown tests as fast as possible ok 442 # skip Running out of time. Trying to shutdown tests as fast as possible ok 443 # skip Running out of time. Trying to shutdown tests as fast as possible ok 444 # skip Running out of time. Trying to shutdown tests as fast as possible ok 445 # skip Running out of time. Trying to shutdown tests as fast as possible ok 446 # skip Running out of time. Trying to shutdown tests as fast as possible ok 447 # skip Running out of time. Trying to shutdown tests as fast as possible ok 448 # skip Running out of time. Trying to shutdown tests as fast as possible ok 449 # skip Running out of time. Trying to shutdown tests as fast as possible ok 450 # skip Running out of time. Trying to shutdown tests as fast as possible ok 451 # skip Running out of time. Trying to shutdown tests as fast as possible ok 452 # skip Running out of time. Trying to shutdown tests as fast as possible ok 453 # skip Running out of time. Trying to shutdown tests as fast as possible ok 454 # skip Running out of time. Trying to shutdown tests as fast as possible ok 455 # skip Running out of time. Trying to shutdown tests as fast as possible ok 456 # skip Running out of time. Trying to shutdown tests as fast as possible ok 457 # skip Running out of time. Trying to shutdown tests as fast as possible ok 458 # skip Running out of time. Trying to shutdown tests as fast as possible ok 459 # skip Running out of time. Trying to shutdown tests as fast as possible ok 460 # skip Running out of time. Trying to shutdown tests as fast as possible ok 461 # skip Running out of time. Trying to shutdown tests as fast as possible ok 462 # skip Running out of time. Trying to shutdown tests as fast as possible ok 463 # skip Running out of time. Trying to shutdown tests as fast as possible ok 464 # skip Running out of time. Trying to shutdown tests as fast as possible ok 465 # skip Running out of time. Trying to shutdown tests as fast as possible ok 466 # skip Running out of time. Trying to shutdown tests as fast as possible ok 467 # skip Running out of time. Trying to shutdown tests as fast as possible ok 468 # skip Running out of time. Trying to shutdown tests as fast as possible ok 469 # skip Running out of time. Trying to shutdown tests as fast as possible ok 470 # skip Running out of time. Trying to shutdown tests as fast as possible ok 471 # skip Running out of time. Trying to shutdown tests as fast as possible ok 472 # skip Running out of time. Trying to shutdown tests as fast as possible ok 473 # skip Running out of time. Trying to shutdown tests as fast as possible ok 474 # skip Running out of time. Trying to shutdown tests as fast as possible ok 475 # skip Running out of time. Trying to shutdown tests as fast as possible ok 476 # skip Running out of time. Trying to shutdown tests as fast as possible ok 477 # skip Running out of time. Trying to shutdown tests as fast as possible ok 478 # skip Running out of time. Trying to shutdown tests as fast as possible ok 479 # skip Running out of time. Trying to shutdown tests as fast as possible ok 480 # skip Running out of time. Trying to shutdown tests as fast as possible ok 481 # skip Running out of time. Trying to shutdown tests as fast as possible ok 482 # skip Running out of time. Trying to shutdown tests as fast as possible ok 483 # skip Running out of time. Trying to shutdown tests as fast as possible ok 484 # skip Running out of time. Trying to shutdown tests as fast as possible ok 485 # skip Running out of time. Trying to shutdown tests as fast as possible ok 486 # skip Running out of time. Trying to shutdown tests as fast as possible ok 487 # skip Running out of time. Trying to shutdown tests as fast as possible ok 488 # skip Running out of time. Trying to shutdown tests as fast as possible ok 489 # skip Running out of time. Trying to shutdown tests as fast as possible ok 490 # skip Running out of time. Trying to shutdown tests as fast as possible ok 491 # skip Running out of time. Trying to shutdown tests as fast as possible ok 492 # skip Running out of time. Trying to shutdown tests as fast as possible ok 493 # skip Running out of time. Trying to shutdown tests as fast as possible ok 494 # skip Running out of time. Trying to shutdown tests as fast as possible ok 495 # skip Running out of time. Trying to shutdown tests as fast as possible ok 496 # skip Running out of time. Trying to shutdown tests as fast as possible ok 497 # skip Running out of time. Trying to shutdown tests as fast as possible ok 498 # skip Running out of time. Trying to shutdown tests as fast as possible ok 499 # skip Running out of time. Trying to shutdown tests as fast as possible ok 500 # skip Running out of time. Trying to shutdown tests as fast as possible ok 501 # skip Running out of time. Trying to shutdown tests as fast as possible ok 502 # skip Running out of time. Trying to shutdown tests as fast as possible ok 503 # skip Running out of time. Trying to shutdown tests as fast as possible ok 504 # skip Running out of time. Trying to shutdown tests as fast as possible ok 505 # skip Skipping b/c proxy seems to cause hangs ok 506 # skip Skipping b/c proxy seems to cause hangs ok 507 # skip Skipping b/c proxy seems to cause hangs ok 508 # skip Skipping b/c proxy seems to cause hangs ok 509 # skip Skipping b/c proxy seems to cause hangs ok 510 # skip Skipping b/c proxy seems to cause hangs ok 511 # skip Skipping b/c proxy seems to cause hangs ok 512 # skip Skipping b/c proxy seems to cause hangs ok 513 # skip Skipping b/c proxy seems to cause hangs ok 514 # skip Skipping b/c proxy seems to cause hangs ok 515 # skip Skipping b/c proxy seems to cause hangs ok 516 # skip Skipping b/c proxy seems to cause hangs ok 517 # skip Skipping b/c proxy seems to cause hangs ok 518 # skip Skipping b/c proxy seems to cause hangs ok 519 # skip Skipping b/c proxy seems to cause hangs ok 520 # skip Skipping b/c proxy seems to cause hangs ok 521 # skip Skipping b/c proxy seems to cause hangs ok 522 # skip Skipping b/c proxy seems to cause hangs ok 523 # skip Skipping b/c proxy seems to cause hangs ok 524 # skip Skipping b/c proxy seems to cause hangs ok 525 # skip Skipping b/c proxy seems to cause hangs ok 526 # skip Skipping b/c proxy seems to cause hangs ok 527 # skip Skipping b/c proxy seems to cause hangs ok 528 # skip Skipping b/c proxy seems to cause hangs ok 529 # skip Skipping b/c proxy seems to cause hangs ok 530 # skip Skipping b/c proxy seems to cause hangs ok 531 # skip Skipping b/c proxy seems to cause hangs ok 532 # skip Skipping b/c proxy seems to cause hangs ok 533 # skip Skipping b/c proxy seems to cause hangs ok 534 # skip Skipping b/c proxy seems to cause hangs ok 535 # skip Skipping b/c proxy seems to cause hangs ok 536 # skip Skipping b/c proxy seems to cause hangs ok 537 # skip Skipping b/c proxy seems to cause hangs ok 538 # skip Skipping b/c proxy seems to cause hangs ok 539 # skip Skipping b/c proxy seems to cause hangs ok 540 # skip Skipping b/c proxy seems to cause hangs ok 541 # skip Skipping b/c proxy seems to cause hangs ok 542 # skip Skipping b/c proxy seems to cause hangs ok 543 # skip Skipping b/c proxy seems to cause hangs ok 544 # skip Skipping b/c proxy seems to cause hangs ok 545 # skip Skipping b/c proxy seems to cause hangs ok 546 # skip Skipping b/c proxy seems to cause hangs ok 547 # skip Skipping b/c proxy seems to cause hangs ok 548 # skip Skipping b/c proxy seems to cause hangs ok 549 # skip Skipping b/c proxy seems to cause hangs ok 550 # skip Skipping b/c proxy seems to cause hangs ok 551 # skip Skipping b/c proxy seems to cause hangs ok 552 # skip Skipping b/c proxy seems to cause hangs ok 553 # skip Skipping b/c proxy seems to cause hangs ok 554 # skip Skipping b/c proxy seems to cause hangs ok 555 # skip Skipping b/c proxy seems to cause hangs ok 556 # skip Skipping b/c proxy seems to cause hangs ok 557 # skip Skipping b/c proxy seems to cause hangs ok 558 # skip Skipping b/c proxy seems to cause hangs ok 559 # skip Skipping b/c proxy seems to cause hangs ok 560 # skip Skipping b/c proxy seems to cause hangs ok 561 # skip Skipping b/c proxy seems to cause hangs ok 562 # skip Skipping b/c proxy seems to cause hangs ok 563 # skip Running out of time. Trying to shutdown tests as fast as possible ok 564 # skip Running out of time. Trying to shutdown tests as fast as possible ok 565 # skip Running out of time. Trying to shutdown tests as fast as possible ok 566 # skip Running out of time. Trying to shutdown tests as fast as possible ok 567 # skip Running out of time. Trying to shutdown tests as fast as possible ok 568 # skip Skipping exit status b/c out of time ok 569 # skip Skipping exit status b/c out of time ok 570 - Specified profile names work ok 571 - At least one firefox start worked ok 572 - File::Temp::newdir is redefined to fail: ok 573 - When File::Temp::newdir is forced to fail, a Firefox::Marionette::Exception is thrown:Failed to create temporary directory:Permission denied at t/01-marionette.t line 5472 1..573 ok # Running taint checks with PATH set to /usr/bin:/bin:/usr/local/bin ** firefox --version ** firefox -marionette -remote-allow-system-access -safe-mode -headless -profile /tmp/firefox_marionette_local_Hj5_OdZNPax/profile --no-remote --new-instance [2831623] Sandbox: CanCreateUserNamespace() clone() failure: EPERM *** You are running in headless mode. << 50:{"applicationType":"gecko","marionetteProtocol":3} >> 73:[0,1,"WebDriver:NewSession",{"capabilities":{"requiredCapabilities":{}}}] << 761:[1,1,null,{"sessionId":"05b4eef1-816b-4f18-b9ef-833f4169562d","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"140.5.0","platformName":"linux","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:140.0) Gecko/20100101 Firefox/140.0","moz:buildID":"20251106203603","moz:headless":true,"moz:platformVersion":"6.12.57+deb13-amd64","moz:processID":2831623,"moz:profile":"/tmp/firefox_marionette_local_Hj5_OdZNPax/profile","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":false,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}] >> 179:[0,2,"WebAuthn:AddVirtualAuthenticator",{"hasResidentKey":true,"hasUserVerification":true,"isUserConsenting":true,"isUserVerified":true,"protocol":"ctap2","transport":"internal"}] << 66:[1,2,null,{"value":"i6vfwcwtpa3K372U8-wv_tsg7OpRzW81e1jEU1HtTso"}] >> 50:[0,3,"Marionette:Quit",{"flags":["eAttemptQuit"]}] << 60:[1,3,null,{"cause":"shutdown","forced":false,"in_app":true}] ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value ###!!! [Parent][DispatchAsyncMessage] Error: PBackgroundIDBFactory::Msg_PBackgroundIDBFactoryRequestConstructor Value error: message was deserialized, but contained an illegal value t/02-taint.t .......... [GFX1-]: glxtest: libpci missing [GFX1-]: glxtest: libEGL missing [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt ok 1 - Firefox launched okay under taint ok 2 - Firefox exited okay under taint 1..2 ok t/03-close.t .......... skipped: Author tests not required for installation t/03-closedir.t ....... skipped: Author tests not required for installation t/03-fork.t ........... skipped: Author tests not required for installation t/03-mkdir.t .......... skipped: Author tests not required for installation t/03-opendir.t ........ skipped: Author tests not required for installation t/03-read.t ........... skipped: Author tests not required for installation t/03-seek.t ........... skipped: Author tests not required for installation t/03-stat.t ........... skipped: Author tests not required for installation t/03-sysopen.t ........ skipped: Author tests not required for installation t/04-botd.t ........... skipped: Author tests not required for installation t/04-browserfeatcl.t .. skipped: Author tests not required for installation t/04-fingerprint.t .... skipped: Author tests not required for installation t/04-proxy.t .......... skipped: Author tests not required for installation t/04-timezone.t ....... skipped: Author tests not required for installation t/04-uploads.t ........ skipped: No upload tests except when RELEASE_TESTING is set t/04-webauthn.t ....... skipped: Author tests not required for installation t/manifest.t .......... skipped: Author tests not required for installation t/pod-coverage.t ...... skipped: Test::Pod::Coverage 1.04 required for testing POD coverage t/pod.t ............... skipped: Test::Pod 1.41 required for testing POD All tests successful. Test Summary Report ------------------- t/01-marionette.t (Wstat: 0 Tests: 573 Failed: 0) TODO passed: 55 Files=22, Tests=576, 141 wallclock secs ( 0.14 usr 0.06 sys + 21.92 cusr 6.13 csys = 28.25 CPU) Result: PASS make[2]: Leaving directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' make[1]: Leaving directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' create-stamp debian/debhelper-build-stamp dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' dh_auto_install make -j40 install DESTDIR=/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' Manifying 4 pod documents Manifying 27 pod documents Manifying 12 pod documents Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/WebFrame.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Timeouts.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Link.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Capabilities.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Certificate.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/WebWindow.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/DNS.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Response.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Buttons.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Proxy.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/ShadowRoot.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Login.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Image.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Display.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/UpdateStatus.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Profile.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Keys.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Cache.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/LocalObject.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/GeoLocation.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Cookie.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Element.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Bookmark.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Window/Rect.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception/NoSuchAlert.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception/NotFound.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception/Response.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception/StaleElement.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Exception/InsecureCertificate.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/WebAuthn/Authenticator.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/WebAuthn/Credential.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Element/Rect.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Extension/Stealth.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Extension/Timezone.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Firefox/Marionette/Extension/HarExportTrigger.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Waterfox/Marionette.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/perl5/Waterfox/Marionette/Profile.pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/ssh-auth-cmd-marionette.1p Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/firefox-passwords.1p Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/check-firefox-certificate-authorities.1p Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/ca-bundle-for-firefox.1p Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::GeoLocation.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::ShadowRoot.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Waterfox::Marionette::Profile.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Extension::Timezone.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::WebAuthn::Authenticator.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Element.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Element::Rect.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::WebFrame.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Window::Rect.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::WebAuthn::Credential.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Extension::HarExportTrigger.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception::NotFound.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Capabilities.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Extension::Stealth.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Login.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception::Response.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::DNS.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Waterfox::Marionette.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Image.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception::NoSuchAlert.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Buttons.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Certificate.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::UpdateStatus.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Cache.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Keys.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Proxy.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Display.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Link.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Profile.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Bookmark.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::WebWindow.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception::InsecureCertificate.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Timeouts.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::LocalObject.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Response.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Cookie.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man3/Firefox::Marionette::Exception::StaleElement.3pm Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/ssh-auth-cmd-marionette Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/firefox-passwords Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/ca-bundle-for-firefox Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/setup-for-firefox-marionette-build.sh Installing /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/check-firefox-certificate-authorities make[2]: Leaving directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' # installed as examples rm -f -rv /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin /build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1 removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/ssh-auth-cmd-marionette' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/firefox-passwords' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/ca-bundle-for-firefox' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/setup-for-firefox-marionette-build.sh' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin/check-firefox-certificate-authorities' removed directory '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/bin' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/ssh-auth-cmd-marionette.1p' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/firefox-passwords.1p' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/check-firefox-certificate-authorities.1p' removed '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1/ca-bundle-for-firefox.1p' removed directory '/build/reproducible-path/libfirefox-marionette-perl-1.68/debian/libfirefox-marionette-perl/usr/share/man/man1' make[1]: Leaving directory '/build/reproducible-path/libfirefox-marionette-perl-1.68' dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'libfirefox-marionette-perl' in '../libfirefox-marionette-perl_1.68-1_all.deb'. dpkg-genbuildinfo --build=binary -O../libfirefox-marionette-perl_1.68-1_amd64.buildinfo dpkg-genchanges --build=binary -O../libfirefox-marionette-perl_1.68-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/2771984 and its subdirectories I: Current time: Tue Nov 18 08:37:12 -12 2025 I: pbuilder-time-stamp: 1763498232 Tue Nov 18 20:37:13 UTC 2025 I: 1st build successful. Starting 2nd build on remote node ionos15-amd64.debian.net. Tue Nov 18 20:37:13 UTC 2025 I: Preparing to do remote build '2' on ionos15-amd64.debian.net. Tue Nov 18 20:39:01 UTC 2025 I: Deleting $TMPDIR on ionos15-amd64.debian.net. Tue Nov 18 20:39:01 UTC 2025 I: libfirefox-marionette-perl_1.68-1_amd64.changes: Format: 1.8 Date: Sat, 04 Oct 2025 02:13:05 +0200 Source: libfirefox-marionette-perl Binary: libfirefox-marionette-perl Architecture: all Version: 1.68-1 Distribution: unstable Urgency: medium Maintainer: Debian Perl Group Changed-By: gregor herrmann Description: libfirefox-marionette-perl - module to automate the Firefox browser with the Marionette protoc Closes: 1117095 Changes: libfirefox-marionette-perl (1.68-1) unstable; urgency=medium . * Import upstream version 1.66. * Revert "Skip t/04-uploads.t." The test is fixed in this release. * Refresh lintian overrides (line numbers). * Add Salsa CI config. * Add patch from upstream development releases 1.67_01 and 1.67_02 to fix a test failure. * debian/rules: set FIREFOX_DEBUG=1 for tests. . * Import upstream version 1.68. * Refresh no-network.patch (offset). * Drop processgroup.patch (taken from upstream development release). * Remove «Rules-Requires-Root: no», which is the current default. * Remove «Priority: optional», which is the current default. * Update debian/source/lintian-overrides. * Use dbus-daemon and dbus-run-session for tests. Thanks to Simon McVittie for the bug report and patch. (Closes: #1117095) Checksums-Sha1: 7c90d10f65aa440d3e7ab065a55f2b67ecc3c9fb 326824 libfirefox-marionette-perl_1.68-1_all.deb 670785cb3b908dc83e6025a8000976799974c10c 10661 libfirefox-marionette-perl_1.68-1_amd64.buildinfo Checksums-Sha256: 73d057b4322785e461db91689f558705aaa60e0ed780530a2d5949227b43b10c 326824 libfirefox-marionette-perl_1.68-1_all.deb 59a8c0cc4b8a2664e1656fe1e13d7f6718f6ca37ce130c02bd3b5819c529598b 10661 libfirefox-marionette-perl_1.68-1_amd64.buildinfo Files: c32bd3676e1e12aee2f6535339e555d5 326824 perl optional libfirefox-marionette-perl_1.68-1_all.deb c690065be61a321a72fb92baf9bd7fd2 10661 perl optional libfirefox-marionette-perl_1.68-1_amd64.buildinfo Tue Nov 18 20:39:02 UTC 2025 I: diffoscope 309 will be used to compare the two builds: Running as unit: rb-diffoscope-amd64_29-61694.service; invocation ID: 86e7c63caf1b4fb9a666d742032df18c # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/libfirefox-marionette-perl_1.68-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/libfirefox-marionette-perl_1.68-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/libfirefox-marionette-perl_1.68-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/b1/libfirefox-marionette-perl_1.68-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.O9vYofmn/b2/libfirefox-marionette-perl_1.68-1_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call diffoscope.comparators.binary.FilesystemFile ## main (total time: 0.003s) 0.003s 2 calls outputs 0.000s 1 call cleanup Finished with result: success Main processes terminated with: code=exited, status=0/SUCCESS Service runtime: 202ms CPU time consumed: 168ms Memory peak: 17.9M (swap: 0B) Tue Nov 18 20:39:03 UTC 2025 I: diffoscope 309 found no differences in the changes files, and a .buildinfo file also exists. Tue Nov 18 20:39:03 UTC 2025 I: libfirefox-marionette-perl from forky built successfully and reproducibly on amd64. Tue Nov 18 20:39:03 UTC 2025 I: Removing signed libfirefox-marionette-perl_1.68-1_amd64.buildinfo.asc files: removed './b1/libfirefox-marionette-perl_1.68-1_amd64.buildinfo.asc' removed './b2/libfirefox-marionette-perl_1.68-1_amd64.buildinfo.asc'