1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-04-23 10:39:03 +00:00

chore(tests): consolidate passphrase tests for delizia and bolt

This commit is contained in:
Lukas Bielesch 2025-03-10 11:44:31 +01:00 committed by Lukáš Bielesch
parent a4cd4ddaa5
commit 1eeab2ffd2
4 changed files with 223 additions and 529 deletions

View File

@ -233,33 +233,41 @@ BUTTON_LETTERS_BIP39 = ("abc", "def", "ghi", "jkl", "mno", "pqr", "stu", "vwx",
BUTTON_LETTERS_SLIP39 = ("ab", "cd", "ef", "ghij", "klm", "nopq", "rs", "tuv", "wxyz")
# fmt: off
PASSPHRASE_LOWERCASE = (" ", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", "*#")
PASSPHRASE_UPPERCASE = (" ", "ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ", "*#")
PASSPHRASE_LOWERCASE_BOLT = (" ", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", "*#")
PASSPHRASE_LOWERCASE_DELIZIA = ("abc", "def", "ghi", "jkl", "mno", "pq", "rst", "uvw", "xyz", " *#")
PASSPHRASE_UPPERCASE_BOLT = (" ", "ABC", "DEF", "GHI", "JKL", "MNO", "PQRS", "TUV", "WXYZ", "*#")
PASSPHRASE_UPPERCASE_DELIZIA = ("ABC", "DEF", "GHI", "JKL", "MNO", "PQ", "RST", "UVW", "XYZ", " *#")
PASSPHRASE_DIGITS = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
PASSPHRASE_SPECIAL = ("_<>", ".:@", "/|\\", "!()", "+%&", "-[]", "?{}", ",'`", ";\"~", "$^=")
# fmt: on
def get_passphrase_choices(char: str) -> tuple[str, ...]:
if char in " *#":
return PASSPHRASE_LOWERCASE
if char.islower():
return PASSPHRASE_LOWERCASE
elif char.isupper():
return PASSPHRASE_UPPERCASE
elif char.isdigit():
return PASSPHRASE_DIGITS
else:
return PASSPHRASE_SPECIAL
class ButtonActions:
def __init__(self, layout_type: LayoutType):
self.buttons = ScreenButtons(layout_type)
def _passphrase_choices(self, char: str) -> tuple[str, ...]:
if char in " *#" or char.islower():
if self.layout_type is LayoutType.Bolt:
return PASSPHRASE_LOWERCASE_BOLT
elif self.layout_type is LayoutType.Delizia:
return PASSPHRASE_LOWERCASE_DELIZIA
else:
raise ValueError("Wrong layout type")
elif char.isupper():
if self.layout_type is LayoutType.Bolt:
return PASSPHRASE_UPPERCASE_BOLT
elif self.layout_type is LayoutType.Delizia:
return PASSPHRASE_UPPERCASE_DELIZIA
else:
raise ValueError("Wrong layout type")
elif char.isdigit():
return PASSPHRASE_DIGITS
else:
return PASSPHRASE_SPECIAL
def passphrase(self, char: str) -> Tuple[Coords, int]:
choices = get_passphrase_choices(char)
choices = self._passphrase_choices(char)
idx = next(i for i, letters in enumerate(choices) if char in letters)
click_amount = choices[idx].index(char) + 1
return self.buttons.pin_passphrase_index(idx), click_amount

View File

@ -1,302 +0,0 @@
# This file is part of the Trezor project.
#
# Copyright (C) 2012-2023 SatoshiLabs and contributors
#
# This library is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License version 3
# as published by the Free Software Foundation.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the License along with this library.
# If not, see <https://www.gnu.org/licenses/lgpl-3.0.html>.
import time
from contextlib import contextmanager
from typing import TYPE_CHECKING, Generator, Optional
import pytest
from .. import buttons
from ..common import get_test_address
from .common import CommonPass, PassphraseCategory, get_char_category
if TYPE_CHECKING:
from trezorlib.debuglink import DebugLink
from ..device_handler import BackgroundDeviceHandler
pytestmark = pytest.mark.models("t2t1")
# TODO: it is not possible to cancel the passphrase entry on TT
# NOTE: the prompt (underscoring) is not there when a space is entered
TT_CATEGORIES = [
PassphraseCategory.DIGITS,
PassphraseCategory.LOWERCASE,
PassphraseCategory.UPPERCASE,
PassphraseCategory.SPECIAL,
]
# TODO: better read this from the trace
TT_CATEGORY = PassphraseCategory.LOWERCASE
TT_COORDS_PREV: buttons.Coords = (0, 0)
# Testing the maximum length is really 50
# TODO: show some UI message when length reaches 50?
# (it currently disabled typing and greys out the buttons)
DA_50 = 25 * "da"
DA_50_ADDRESS = "mg5L2i8HZKUvceK1sfmGHhE4gichFSsdvm"
assert len(DA_50) == 50
DA_49 = DA_50[:-1]
DA_49_ADDRESS = "mxrB75ydMS3ZzqmYKK28fj4bNMEx7dDw6e"
assert len(DA_49) == 49
assert DA_49_ADDRESS != DA_50_ADDRESS
DA_51 = DA_50 + "d"
DA_51_ADDRESS = DA_50_ADDRESS
assert len(DA_51) == 51
assert DA_51_ADDRESS == DA_50_ADDRESS
@contextmanager
def prepare_passphrase_dialogue(
device_handler: "BackgroundDeviceHandler", address: Optional[str] = None
) -> Generator["DebugLink", None, None]:
debug = device_handler.debuglink()
device_handler.run(get_test_address) # type: ignore
assert debug.read_layout().main_component() == "PassphraseKeyboard"
# Resetting the category as it could have been changed by previous tests
global TT_CATEGORY
TT_CATEGORY = PassphraseCategory.LOWERCASE # type: ignore
yield debug
result = device_handler.result()
if address is not None:
assert result == address
def go_to_category(debug: "DebugLink", category: PassphraseCategory) -> None:
"""Go to a specific category"""
global TT_CATEGORY
global TT_COORDS_PREV
# Already there
if TT_CATEGORY == category:
return
current_index = TT_CATEGORIES.index(TT_CATEGORY)
target_index = TT_CATEGORIES.index(category)
if target_index > current_index:
for _ in range(target_index - current_index):
debug.swipe_left()
else:
for _ in range(current_index - target_index):
debug.swipe_right()
TT_CATEGORY = category # type: ignore
# Category changed, reset coordinates
TT_COORDS_PREV = (0, 0) # type: ignore
def press_char(debug: "DebugLink", char: str) -> None:
"""Press a character"""
global TT_COORDS_PREV
# Space and couple others are a special case
if char in " *#":
char_category = PassphraseCategory.LOWERCASE
else:
char_category = get_char_category(char)
go_to_category(debug, char_category)
actions = buttons.ButtonActions(debug.layout_type)
coords, amount = actions.passphrase(char)
# If the button is the same as for the previous char,
# waiting a second before pressing it again.
# (not for a space)
if coords == TT_COORDS_PREV and char != " ":
time.sleep(1.1)
TT_COORDS_PREV = coords # type: ignore
for _ in range(amount):
debug.click(coords)
def input_passphrase(debug: "DebugLink", passphrase: str, check: bool = True) -> None:
"""Input a passphrase with validation it got added"""
if check:
before = debug.read_layout().passphrase()
for char in passphrase:
press_char(debug, char)
if check:
after = debug.read_layout().passphrase()
assert after == before + passphrase
def enter_passphrase(debug: "DebugLink") -> None:
"""Enter a passphrase"""
btns = buttons.ScreenButtons(debug.layout_type)
coords = btns.passphrase_confirm()
debug.click(coords)
def delete_char(debug: "DebugLink") -> None:
"""Deletes the last char"""
btns = buttons.ScreenButtons(debug.layout_type)
coords = btns.pin_passphrase_erase()
debug.click(coords)
VECTORS = ( # passphrase, address
(CommonPass.SHORT, CommonPass.SHORT_ADDRESS),
(CommonPass.WITH_SPACE, CommonPass.WITH_SPACE_ADDRESS),
(CommonPass.RANDOM_25, CommonPass.RANDOM_25_ADDRESS),
(DA_49, DA_49_ADDRESS),
(DA_50, DA_50_ADDRESS),
)
@pytest.mark.parametrize("passphrase, address", VECTORS)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_input(
device_handler: "BackgroundDeviceHandler", passphrase: str, address: str
):
with prepare_passphrase_dialogue(device_handler, address) as debug:
input_passphrase(debug, passphrase)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_input_over_50_chars(device_handler: "BackgroundDeviceHandler"):
with prepare_passphrase_dialogue(device_handler, DA_51_ADDRESS) as debug: # type: ignore
input_passphrase(debug, DA_51, check=False)
assert debug.read_layout().passphrase() == DA_50
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_delete(device_handler: "BackgroundDeviceHandler"):
with prepare_passphrase_dialogue(device_handler, CommonPass.SHORT_ADDRESS) as debug:
input_passphrase(debug, CommonPass.SHORT[:8])
for _ in range(4):
delete_char(debug)
input_passphrase(debug, CommonPass.SHORT[8 - 4 :])
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_delete_all(
device_handler: "BackgroundDeviceHandler",
):
with prepare_passphrase_dialogue(device_handler, CommonPass.EMPTY_ADDRESS) as debug:
passphrase = "trezor"
input_passphrase(debug, passphrase)
for _ in range(len(passphrase)):
delete_char(debug)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_loop_all_characters(device_handler: "BackgroundDeviceHandler"):
with prepare_passphrase_dialogue(device_handler, CommonPass.EMPTY_ADDRESS) as debug:
for category in (
PassphraseCategory.DIGITS,
PassphraseCategory.LOWERCASE,
PassphraseCategory.UPPERCASE,
PassphraseCategory.SPECIAL,
):
go_to_category(debug, category)
enter_passphrase(debug)
btns = buttons.ScreenButtons(debug.layout_type)
debug.click(btns.passphrase_confirm())
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_click_same_button_many_times(
device_handler: "BackgroundDeviceHandler",
):
with prepare_passphrase_dialogue(device_handler) as debug:
actions = buttons.ButtonActions(debug.layout_type)
a_coords, _ = actions.passphrase("a")
for _ in range(10):
debug.click(a_coords)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_prompt_disappears(
device_handler: "BackgroundDeviceHandler",
):
with prepare_passphrase_dialogue(device_handler) as debug:
input_passphrase(debug, "a")
# Wait a second for the prompt to disappear
time.sleep(1.1)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_long_spaces_deletion(
device_handler: "BackgroundDeviceHandler",
):
with prepare_passphrase_dialogue(device_handler) as debug:
input_passphrase(
debug,
"a"
+ " " * 7
+ "b"
+ " " * 7
+ "c"
+ " " * 7
+ "d"
+ " " * 7
+ "e"
+ " " * 7
+ "f",
)
for _ in range(12):
delete_char(debug)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_passphrase_dollar_sign_deletion(
device_handler: "BackgroundDeviceHandler",
):
# Checks that dollar signs will not leave one pixel on the top after deleting
# (was a bug previously)
with prepare_passphrase_dialogue(device_handler, CommonPass.EMPTY_ADDRESS) as debug:
passphrase = "$$ I want $$"
input_passphrase(debug, passphrase)
for _ in range(len(passphrase)):
delete_char(debug)
enter_passphrase(debug)
@pytest.mark.setup_client(passphrase=True)
def test_cycle_through_last_character(
device_handler: "BackgroundDeviceHandler",
):
# Checks that we can cycle through the last (50th) passphrase character
# (was a bug previously)
with prepare_passphrase_dialogue(device_handler) as debug:
passphrase = DA_49 + "i" # for i we need to cycle through "ghi" three times
input_passphrase(debug, passphrase)
enter_passphrase(debug)

View File

@ -16,11 +16,10 @@
import time
from contextlib import contextmanager
from typing import TYPE_CHECKING, Generator, Optional, Tuple
from typing import TYPE_CHECKING, Generator, Optional
import pytest
from trezorlib import exceptions
from trezorlib.debuglink import LayoutType
from .. import buttons
@ -33,24 +32,22 @@ if TYPE_CHECKING:
from ..device_handler import BackgroundDeviceHandler
pytestmark = pytest.mark.models("delizia")
pytestmark = pytest.mark.models("t2t1", "delizia")
PASSPHRASE_CANCELLED = pytest.raises(exceptions.Cancelled, match="")
KEYBOARD_CATEGORIES_BOLT = [
PassphraseCategory.DIGITS,
PassphraseCategory.LOWERCASE,
PassphraseCategory.UPPERCASE,
PassphraseCategory.SPECIAL,
]
KEYBOARD_CATEGORIES = [
KEYBOARD_CATEGORIES_DELIZIA = [
PassphraseCategory.LOWERCASE,
PassphraseCategory.UPPERCASE,
PassphraseCategory.DIGITS,
PassphraseCategory.SPECIAL,
]
# fmt: off
PASSPHRASE_LOWERCASE = ("abc", "def", "ghi", "jkl", "mno", "pq", "rst", "uvw", "xyz", " *#")
PASSPHRASE_UPPERCASE = ("ABC", "DEF", "GHI", "JKL", "MNO", "PQ", "RST", "UVW", "XYZ", " *#")
PASSPHRASE_DIGITS = ("1", "2", "3", "4", "5", "6", "7", "8", "9", "0")
PASSPHRASE_SPECIAL = ("_<>", ".:@", "/|\\", "!()", "+%&", "-[]", "?{}", ",'`", ";\"~", "$^=")
# fmt: on
# TODO: better read this from the trace
KEYBOARD_CATEGORY = PassphraseCategory.LOWERCASE
COORDS_PREV: buttons.Coords = (0, 0)
@ -72,35 +69,12 @@ assert len(DA_51) == 51
assert DA_51_ADDRESS == DA_50_ADDRESS
def get_passphrase_choices(char: str) -> tuple[str, ...]:
if char in " *#":
return PASSPHRASE_LOWERCASE
if char.islower():
return PASSPHRASE_LOWERCASE
elif char.isupper():
return PASSPHRASE_UPPERCASE
elif char.isdigit():
return PASSPHRASE_DIGITS
else:
return PASSPHRASE_SPECIAL
def passphrase(char: str, layout_type: LayoutType) -> Tuple[buttons.Coords, int]:
btns = buttons.ScreenButtons(layout_type)
choices = get_passphrase_choices(char)
idx = next(i for i, letters in enumerate(choices) if char in letters)
click_amount = choices[idx].index(char) + 1
return btns.pin_passphrase_index(idx), click_amount
@contextmanager
def prepare_passphrase_dialogue(
device_handler: "BackgroundDeviceHandler", address: Optional[str] = None
) -> Generator["DebugLink", None, None]:
debug = device_handler.debuglink()
device_handler.run(get_test_address) # type: ignore
# TODO
assert debug.read_layout().main_component() == "PassphraseKeyboard"
# Resetting the category as it could have been changed by previous tests
@ -114,6 +88,15 @@ def prepare_passphrase_dialogue(
assert result == address
def keyboard_categories(layout_type: LayoutType) -> list[PassphraseCategory]:
if layout_type is LayoutType.Bolt:
return KEYBOARD_CATEGORIES_BOLT
elif layout_type is LayoutType.Delizia:
return KEYBOARD_CATEGORIES_DELIZIA
else:
raise ValueError("Wrong layout type")
def go_to_category(debug: "DebugLink", category: PassphraseCategory) -> None:
"""Go to a specific category"""
global KEYBOARD_CATEGORY
@ -123,8 +106,8 @@ def go_to_category(debug: "DebugLink", category: PassphraseCategory) -> None:
if KEYBOARD_CATEGORY == category:
return
current_index = KEYBOARD_CATEGORIES.index(KEYBOARD_CATEGORY)
target_index = KEYBOARD_CATEGORIES.index(category)
current_index = keyboard_categories(debug.layout_type).index(KEYBOARD_CATEGORY)
target_index = keyboard_categories(debug.layout_type).index(category)
if target_index > current_index:
for _ in range(target_index - current_index):
debug.swipe_left()
@ -148,10 +131,13 @@ def press_char(debug: "DebugLink", char: str) -> None:
go_to_category(debug, char_category)
coords, amount = passphrase(char, debug.layout_type)
actions = buttons.ButtonActions(debug.layout_type)
coords, amount = actions.passphrase(char)
# If the button is the same as for the previous char,
# waiting a second before pressing it again.
if coords == COORDS_PREV:
# (not for a space in Bolt layout)
is_bolt_space = debug.layout_type is LayoutType.Bolt and char == " "
if coords == COORDS_PREV and not is_bolt_space:
time.sleep(1.1)
COORDS_PREV = coords # type: ignore
for _ in range(amount):
@ -174,7 +160,7 @@ def enter_passphrase(debug: "DebugLink") -> None:
is_empty: bool = len(debug.read_layout().passphrase()) == 0
btns = buttons.ScreenButtons(debug.layout_type)
debug.click(btns.passphrase_confirm())
if is_empty:
if is_empty and debug.layout_type is LayoutType.Delizia:
debug.click(btns.ui_yes())
@ -218,7 +204,8 @@ def test_passphrase_delete(device_handler: "BackgroundDeviceHandler"):
for _ in range(4):
delete_char(debug)
debug.read_layout()
if debug.layout_type is LayoutType.Delizia:
debug.read_layout()
input_passphrase(debug, CommonPass.SHORT[8 - 4 :])
enter_passphrase(debug)
@ -248,7 +235,8 @@ def test_passphrase_loop_all_characters(device_handler: "BackgroundDeviceHandler
PassphraseCategory.SPECIAL,
):
go_to_category(debug, category)
debug.read_layout()
if debug.layout_type is LayoutType.Delizia:
debug.read_layout()
enter_passphrase(debug)
btns = buttons.ScreenButtons(debug.layout_type)

View File

@ -745,20 +745,20 @@
"T2T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "cead5ab77fe434d49f95c9b36c5f30ede92dfcba9a65e76a793efd663bc2db2c",
"T2T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "02fef6dbd2919c5c55f89a99306a5d9948a60a63fedb2f381108b2b5cdb0f3ef",
"T2T1_cs_test_lock.py::test_hold_to_lock": "cbbb62fa28512c76a8c6ffda81ac8f2527050fb94f333fec8f1c204e80b22819",
"T2T1_cs_test_passphrase_bolt.py::test_cycle_through_last_character": "40830a50b2b1ce4e6333b3f2c4f498c1f74de3d9487e85357a5d247710dcd85c",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "686b16ba0f08c95805ec029268bcb750f623ccf20e00defcbff4a7f341747e15",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_delete": "6c9112ba6846f60cda92cd958d345692a088a9be4a096bc004c4e4f6ee5a320b",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_delete_all": "aacd1067210783e499692ebf5d54d7c01c3f42e7da0751a11c8bb27ddccb309b",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "9b60f466f49b0838f8b6dc50c3e4dd61264c45bdb0206f3056afee2a5d307407",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "4a08a5aee3c2aa66e3cf35277d50839eae59e262ac876c5621ce4e2549121511",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "ebd885eb2ca3df3bc14ffe7cd95b7d761fa8caa69f8b56e3a4e5fc968909027c",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "84f48256ed27bb3aa8415053973387a8d5a062f3d4b3bb9a039734d5f5ad5df3",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "c2dc9eaca217d0b4654319074ab4d9108b7e3d4378847e8e4b6d7be6f414fe74",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "f137b5b2931eee31ab91d7738fa0a3f2123529dd533fd59ac37a3f08f4e9cb3a",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "2adbcb44e4eb856d52e58a40c11efb87f68295b9fb64877c20639321638f0356",
"T2T1_cs_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "cd361cd446f7449fe26252cea4d91d2c2c9b1a9ac81a3e9756fbd74668cfb9f0",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "40830a50b2b1ce4e6333b3f2c4f498c1f74de3d9487e85357a5d247710dcd85c",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "686b16ba0f08c95805ec029268bcb750f623ccf20e00defcbff4a7f341747e15",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete": "6c9112ba6846f60cda92cd958d345692a088a9be4a096bc004c4e4f6ee5a320b",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "aacd1067210783e499692ebf5d54d7c01c3f42e7da0751a11c8bb27ddccb309b",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "9b60f466f49b0838f8b6dc50c3e4dd61264c45bdb0206f3056afee2a5d307407",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "4a08a5aee3c2aa66e3cf35277d50839eae59e262ac876c5621ce4e2549121511",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "ebd885eb2ca3df3bc14ffe7cd95b7d761fa8caa69f8b56e3a4e5fc968909027c",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "84f48256ed27bb3aa8415053973387a8d5a062f3d4b3bb9a039734d5f5ad5df3",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "c2dc9eaca217d0b4654319074ab4d9108b7e3d4378847e8e4b6d7be6f414fe74",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "2eb60be84a003b6e2eae3e73fff70a2b8f0a8f2ffafa56690d53ccb96a097bc9",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "f137b5b2931eee31ab91d7738fa0a3f2123529dd533fd59ac37a3f08f4e9cb3a",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "2adbcb44e4eb856d52e58a40c11efb87f68295b9fb64877c20639321638f0356",
"T2T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "cd361cd446f7449fe26252cea4d91d2c2c9b1a9ac81a3e9756fbd74668cfb9f0",
"T2T1_cs_test_pin.py::test_last_digit_timeout": "06babf359cdfd0299c7adf901a21195b060ca554ea3ef89a4907b05a38fca6dc",
"T2T1_cs_test_pin.py::test_pin_cancel": "4176e256dd9fc175fd5b903144eff9c349ccd881407aa41d0e6798d6e2787164",
"T2T1_cs_test_pin.py::test_pin_change": "4070156f5671f94d819d6845455b89133361a7bcbe1a8a4460e72f92fe2166a4",
@ -797,20 +797,20 @@
"T2T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "fcefa34333413a7b1d72eca9d0c6742654b0959524b392adc179687ca94cf374",
"T2T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "f271dd89a2514d42d789511bfaa3712595d1e58506e81352f5e4d4cd636e49fd",
"T2T1_de_test_lock.py::test_hold_to_lock": "10709a23298770753088ee313e451afc161e9fa89c55b93ccc581473b4dd9927",
"T2T1_de_test_passphrase_bolt.py::test_cycle_through_last_character": "efa760797ba43b9a7f96a0362ec2a68a8de411048c37ad6957da98a8f1ed841f",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "f05ccae157375a20a0565f333662a14d2aa05080e1b605c9f17295e9cde543a3",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_delete": "18ffb2beaa3b84909c5ad140abccac2ad67cc266dc40e49b6956a9aee6852258",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_delete_all": "1de6101a45b849bc4a087039a845c6183bbeab2617e0099c70e46382c5423169",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "a58dab10d4737cb97fff35e388c25a1dcc366e943e226c2c836f25e40b7e2f43",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "cb125eec7af27d40f9d081aceb236cc171a9fee5a5281d36855b8ca66705443d",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8c4b13aff5c0c2e4cd69b757b77c7e305521ad8bf0ae4e2995d4f5e188a3cd5f",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "c869406723049363fa9d9f09ca38168c0a98ecf01cfeea6eb227897f25d14e9d",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "98082d0fc491306b8b71f4474166f9ef6982bb1b129a521bcd5aba1dd23f2308",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "da99f8b84fbba875c686e315c9e89809f86db4c519f3524df5810c07ccc6476f",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "efa4ff0e210d6ec4a3f075e3193fce4a8485a6692354c759d485d451903ff246",
"T2T1_de_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "9eee6bfa13e3fe48b0c29c7adb3861be20e20c62717af8090298e4511d661615",
"T2T1_de_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "efa760797ba43b9a7f96a0362ec2a68a8de411048c37ad6957da98a8f1ed841f",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "f05ccae157375a20a0565f333662a14d2aa05080e1b605c9f17295e9cde543a3",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete": "18ffb2beaa3b84909c5ad140abccac2ad67cc266dc40e49b6956a9aee6852258",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "1de6101a45b849bc4a087039a845c6183bbeab2617e0099c70e46382c5423169",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "a58dab10d4737cb97fff35e388c25a1dcc366e943e226c2c836f25e40b7e2f43",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "cb125eec7af27d40f9d081aceb236cc171a9fee5a5281d36855b8ca66705443d",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8c4b13aff5c0c2e4cd69b757b77c7e305521ad8bf0ae4e2995d4f5e188a3cd5f",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "c869406723049363fa9d9f09ca38168c0a98ecf01cfeea6eb227897f25d14e9d",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "98082d0fc491306b8b71f4474166f9ef6982bb1b129a521bcd5aba1dd23f2308",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "6f35eac0c7424bd03c372987c9c7863c4ba8d211f2af85f73ce1fc37a209a15c",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "da99f8b84fbba875c686e315c9e89809f86db4c519f3524df5810c07ccc6476f",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "efa4ff0e210d6ec4a3f075e3193fce4a8485a6692354c759d485d451903ff246",
"T2T1_de_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "9eee6bfa13e3fe48b0c29c7adb3861be20e20c62717af8090298e4511d661615",
"T2T1_de_test_pin.py::test_last_digit_timeout": "c113c631b0a62e3da0b5965844359589716b2b65b8a66e1cccb48ddb427bf10d",
"T2T1_de_test_pin.py::test_pin_cancel": "efb9d6ca37577eabe8dfccc3622eb981af3c196cbe4205b6a78c67961a1a7125",
"T2T1_de_test_pin.py::test_pin_change": "c730274f842d380cd5c2199b5f1894e9d9f219ca69ec06f70a6ce7e4dce7c98e",
@ -849,20 +849,20 @@
"T2T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "7a9d803b3baf1d4bfc9376261615ebdd3ea129583a06310f3909c8338d1ab087",
"T2T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "1986afa48466d880d7b34f2799a3fdea434e840c13fa3c2017161a37694a97f9",
"T2T1_en_test_lock.py::test_hold_to_lock": "16e93b1d85aad5450cd9abf415fac39001cea84869dc6743ff0ec15db24e9ee8",
"T2T1_en_test_passphrase_bolt.py::test_cycle_through_last_character": "80625277f3a0aa4132f275e2073785825f2e1925f3409810d7f532b7c9fb08ef",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "2b55911cee1c00dea76b427c08889acf984acb1ebf93624977f43148a5a5a8d8",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_delete": "36fb4927e216871408bf0aefd815037db4e86cfd87cbb23daaa1d2d8ec81c835",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_delete_all": "678a21fcb484c9f64af01cbdf4591a9b019e6205ca8321a60bc471c521ab87ed",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "8161f39a0efd153274fa8c4f63f3b58d10b6835d4c70fce19b561aa50724827a",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "87f62e2e476c13e32c28f8c15d07ec4e1ed73028519abca6d2cdc3eedae023e1",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "eb7d504a87b3794b3e6e1ec663920a5df938596554e4979d77abc2a550b7481c",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "fc7ec0688bf0f997505c4b5c0e64bf9f5ce97fa31ab9c7d2e0999fd5629e17ac",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "1748b0b47d9a422a67c8f9299dd002342856b067dff76d7ebb825db435b64702",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "9956fa9bf399cc2014be282b128e0581b4adbb399fb16e43cd7ad68d60dbbd09",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "0f99c72bbae0033ed9e5ca1a233d587fb0974bf4a9fe46d1df5f25ed93bac343",
"T2T1_en_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "d051fc05dc3af0c685de6ec8f00b0ab4facf8f6fd49dcece503fa15261d6c90a",
"T2T1_en_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "80625277f3a0aa4132f275e2073785825f2e1925f3409810d7f532b7c9fb08ef",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "2b55911cee1c00dea76b427c08889acf984acb1ebf93624977f43148a5a5a8d8",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete": "36fb4927e216871408bf0aefd815037db4e86cfd87cbb23daaa1d2d8ec81c835",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "678a21fcb484c9f64af01cbdf4591a9b019e6205ca8321a60bc471c521ab87ed",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "8161f39a0efd153274fa8c4f63f3b58d10b6835d4c70fce19b561aa50724827a",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "87f62e2e476c13e32c28f8c15d07ec4e1ed73028519abca6d2cdc3eedae023e1",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "eb7d504a87b3794b3e6e1ec663920a5df938596554e4979d77abc2a550b7481c",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "fc7ec0688bf0f997505c4b5c0e64bf9f5ce97fa31ab9c7d2e0999fd5629e17ac",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "1748b0b47d9a422a67c8f9299dd002342856b067dff76d7ebb825db435b64702",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "b813dbc266789ce36e803d4ea699f7e38817a8e0d95c11a23bda9569ef78a1a2",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "9956fa9bf399cc2014be282b128e0581b4adbb399fb16e43cd7ad68d60dbbd09",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "0f99c72bbae0033ed9e5ca1a233d587fb0974bf4a9fe46d1df5f25ed93bac343",
"T2T1_en_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "d051fc05dc3af0c685de6ec8f00b0ab4facf8f6fd49dcece503fa15261d6c90a",
"T2T1_en_test_pin.py::test_last_digit_timeout": "a170405f1451dd9092afc83c4326e08d9076e52a6ef20c940ff916baa739e9c3",
"T2T1_en_test_pin.py::test_pin_cancel": "477133459306a2a9f64fc2bd3abeebaf67a678e59bdd1418db4536b2be4e657f",
"T2T1_en_test_pin.py::test_pin_change": "b3dccad89be83c8a5c62169b861835730ad46bf01fd0cf598c47b2ebb6cd3e14",
@ -901,20 +901,20 @@
"T2T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "eb5d07664628e4b1821ccf2ef397f36a44d8615150d7388fde37ee95c8df5727",
"T2T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "c173fa6041155ee0b2f4085bf88b911a0d99389c39dbb8c1a78d4eafd0a7044c",
"T2T1_es_test_lock.py::test_hold_to_lock": "5534389fe8f1aebab6cd38be5e46ceb016bae59985eadb83e154960bf98a78fa",
"T2T1_es_test_passphrase_bolt.py::test_cycle_through_last_character": "e6513db1b677a9cb5c790a0dded17cb8339c8cdb159be4aa90523028a4b3424b",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "f3b863a2152d82937aa94d7815867a7d0dfea8cd1932d8f922be5c3f119e394e",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_delete": "83e7d1db22b045a611de7502aa5347d2039ff6456f5db439bec76d630ac7407e",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_delete_all": "893f7fb5eb46d424a814fd26abedd7febeb23f46d62149fc08488f6f61f54b84",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "56c6bc6ccbe689e83dbed1ba903a8fc94e662b57b9c2ddd429f95bac6e84316f",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "ae673718a48e986f13ce57a91fa3b116198196da89f9a86d50c0a88415af5db7",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8a392b3da19b6dda37fc428663585ba5f668021377f23ab8921f8ccb38d168f8",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "c2c66c0efc368ee49c50fd4eb04dd06c87c4fa991daabc6cb1c2a138a8761630",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "9f81ed5ff6db55dcfd9cf6b98710da7a21bd027fe07214e2ad6e6b88e2bab7dc",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "236e69a890c5be0521e88ac3a0b7666b5ee12be5e80cda5231e9224786e1f7be",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "3083493ea56d4d4bda0740cb9dc748cb8d649ba93e8f96bff0bb1d4fef3ab44a",
"T2T1_es_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "307b74f54b266b39535864807191485900e918d964919182448f2cf14a72a3fe",
"T2T1_es_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "e6513db1b677a9cb5c790a0dded17cb8339c8cdb159be4aa90523028a4b3424b",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "f3b863a2152d82937aa94d7815867a7d0dfea8cd1932d8f922be5c3f119e394e",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete": "83e7d1db22b045a611de7502aa5347d2039ff6456f5db439bec76d630ac7407e",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "893f7fb5eb46d424a814fd26abedd7febeb23f46d62149fc08488f6f61f54b84",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "56c6bc6ccbe689e83dbed1ba903a8fc94e662b57b9c2ddd429f95bac6e84316f",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "ae673718a48e986f13ce57a91fa3b116198196da89f9a86d50c0a88415af5db7",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "8a392b3da19b6dda37fc428663585ba5f668021377f23ab8921f8ccb38d168f8",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "c2c66c0efc368ee49c50fd4eb04dd06c87c4fa991daabc6cb1c2a138a8761630",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "9f81ed5ff6db55dcfd9cf6b98710da7a21bd027fe07214e2ad6e6b88e2bab7dc",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "1902a5633fbc468919dc5b00d86d7b6f38058affd6cb3d82942a1c7109c276cb",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "236e69a890c5be0521e88ac3a0b7666b5ee12be5e80cda5231e9224786e1f7be",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "3083493ea56d4d4bda0740cb9dc748cb8d649ba93e8f96bff0bb1d4fef3ab44a",
"T2T1_es_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "307b74f54b266b39535864807191485900e918d964919182448f2cf14a72a3fe",
"T2T1_es_test_pin.py::test_last_digit_timeout": "12f0039fae35a4be611a93edd299bc0e84ea6e039c2ca38f08e7afd382cc6668",
"T2T1_es_test_pin.py::test_pin_cancel": "265f9341d0fa814598d248b4439a0e7dcd9940879321ef883a78e520fb6651c2",
"T2T1_es_test_pin.py::test_pin_change": "7db85f40e61bd4b9e69d9adc84652825e56ba9fea607bdc3ded7aa033674fd16",
@ -953,20 +953,20 @@
"T2T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "5f0f2574dfc8ac11d5f8f0eaa166ee6d0bf37853c206e7d6178954c01b65c1ed",
"T2T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "89e8ba1ad594ee86635423c6ed757e3009dc97f020c965f970683265372b50db",
"T2T1_fr_test_lock.py::test_hold_to_lock": "6e55a8bd3cb4f3f6bde47bbfe00a523c253173edbac5f738d1e2f0b4bab64548",
"T2T1_fr_test_passphrase_bolt.py::test_cycle_through_last_character": "43135f43770a4fe303b3386311f6ccd69de394cac0e6e90e6ad1252849117938",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "2e1139fc821a939514b301703550c6d67473679083f08b0753d730646e602e48",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_delete": "e2bb766b41f93d79474208edea30cc6faed8298e67a41894fd630a7dd7eb368d",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_delete_all": "49a69849fac89d9ae12f7599193214e4b59c5d228a0cebffe17bf994ab1a0744",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "15b597557a859953a31fa2b38b8ae970038e06a3cd99e433625fbde60d7e73e8",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "4cb5b21de9f27f7d961254297722516d2a9425a1187be39320f6425a3d05ac41",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aa2e32bfd8938b3b2c94bde8516ec5ee12b687f4b38bdc1ab6ec752f544bce1a",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "a3964189fa2ef525c9b660483e2d2b11ed224387ba4fa8d970c75a08d2cfdc3a",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "3b2f81ee87b5c47a7339982c4feaf1fcb0618038d0220262e3497abee412467b",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "b1389db332af33a8de480b4db026e23bec45232c246aa08efef5f59243f1e190",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "c2366383d766e669d46a9a8383cee6633a2235b8522583c210a6aae2bf951b89",
"T2T1_fr_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "1633121bde58ffe7ac7de3f0b56af7a31d0416b8076744271c626562670d1668",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "43135f43770a4fe303b3386311f6ccd69de394cac0e6e90e6ad1252849117938",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "2e1139fc821a939514b301703550c6d67473679083f08b0753d730646e602e48",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete": "e2bb766b41f93d79474208edea30cc6faed8298e67a41894fd630a7dd7eb368d",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "49a69849fac89d9ae12f7599193214e4b59c5d228a0cebffe17bf994ab1a0744",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "15b597557a859953a31fa2b38b8ae970038e06a3cd99e433625fbde60d7e73e8",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "4cb5b21de9f27f7d961254297722516d2a9425a1187be39320f6425a3d05ac41",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "aa2e32bfd8938b3b2c94bde8516ec5ee12b687f4b38bdc1ab6ec752f544bce1a",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "a3964189fa2ef525c9b660483e2d2b11ed224387ba4fa8d970c75a08d2cfdc3a",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "3b2f81ee87b5c47a7339982c4feaf1fcb0618038d0220262e3497abee412467b",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "d46bc8ecca3b0cb413ce66cc7d681c9169b110ced17927ae9843d45a6602d748",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "b1389db332af33a8de480b4db026e23bec45232c246aa08efef5f59243f1e190",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "c2366383d766e669d46a9a8383cee6633a2235b8522583c210a6aae2bf951b89",
"T2T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "1633121bde58ffe7ac7de3f0b56af7a31d0416b8076744271c626562670d1668",
"T2T1_fr_test_pin.py::test_last_digit_timeout": "faf87a5b210fcd13500567a7f5b8b6e076c19b08ad472a8316e4d223ec54d4b7",
"T2T1_fr_test_pin.py::test_pin_cancel": "693731e0fda760688100528a65b4ccfc17e8f90bb34dc463438343463a075bd4",
"T2T1_fr_test_pin.py::test_pin_change": "c53fe6d8a756a28515b2956ac1c10a03b0ddc1b1554e388949ebc6b9ff6d048e",
@ -1005,20 +1005,20 @@
"T2T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "c2c056c68a01fd4448b555ce118b35b7a9d219a8cee3ba4a15cab4bc4cbab1b5",
"T2T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "61394ba6e1d93a848315660846c306e86c20f0d24c52491d3aa1ca03b3051f2d",
"T2T1_pt_test_lock.py::test_hold_to_lock": "5ab34b566d1766d037546d93c58b475b2817c568ecd1e236a6b39f0433b15d6c",
"T2T1_pt_test_passphrase_bolt.py::test_cycle_through_last_character": "4b613eee1b8b8e25a94d4c4b3f986c3a89efe37dd9d0a4f1538452e172122b4a",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_click_same_button_many_times": "febff9b8464435ce083976a65aee289003137660b481b3a6da1b37c40fb1df16",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_delete": "face44e71b9cee2655cc8f3f89549e70efc792660509463cab1befb1c73ca038",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_delete_all": "e46a0b9a22b06be228f3fe371f007a7320592952c7cba718edbc588de92323fc",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_dollar_sign_deletion": "84e6eeab7315b3f424cf8f111c27a634ed6f00fa7eb46a229da21ff67f93f09f",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxUdDS-59ef20a9": "5e7b0556c8bd398e54e43c42cdec7fa92aed711776bd0303711ede0cd2f0232f",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "185c69f495ff11ec8a88dccec210d36c7ae529dee5c69ee84e94503ab31c8588",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "08190951dfe32508acb96404dc08b11b8a5e09e2e51aa8d79018b2e006042709",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-26d1efc3": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadadada-812e97c0": "b145e43c30f17e1fd30d88d08826ac0dd3362a0800b2064098b1ee0d8f6bec4b",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_input_over_50_chars": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_long_spaces_deletion": "eaf90dea602333803706c5effdf31788d0a1dcf2d96f87775ef992d816868d52",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_loop_all_characters": "299b2ab2fb7db00c319586d08ed4fff0288e9c7f74e846c13c0667ff9031557a",
"T2T1_pt_test_passphrase_bolt.py::test_passphrase_prompt_disappears": "e7443ffd713d3f788e36f482f3bb7f3c85d61f8fd8a541d777e6cd69ef9cf93b",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "4b613eee1b8b8e25a94d4c4b3f986c3a89efe37dd9d0a4f1538452e172122b4a",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "febff9b8464435ce083976a65aee289003137660b481b3a6da1b37c40fb1df16",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete": "face44e71b9cee2655cc8f3f89549e70efc792660509463cab1befb1c73ca038",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "e46a0b9a22b06be228f3fe371f007a7320592952c7cba718edbc588de92323fc",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "84e6eeab7315b3f424cf8f111c27a634ed6f00fa7eb46a229da21ff67f93f09f",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "5e7b0556c8bd398e54e43c42cdec7fa92aed711776bd0303711ede0cd2f0232f",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "185c69f495ff11ec8a88dccec210d36c7ae529dee5c69ee84e94503ab31c8588",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "08190951dfe32508acb96404dc08b11b8a5e09e2e51aa8d79018b2e006042709",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "b145e43c30f17e1fd30d88d08826ac0dd3362a0800b2064098b1ee0d8f6bec4b",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "a1600296d9a158698179b6e1f7e185a20fcd1359d6616a9db72dcaf863c927f6",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "eaf90dea602333803706c5effdf31788d0a1dcf2d96f87775ef992d816868d52",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "299b2ab2fb7db00c319586d08ed4fff0288e9c7f74e846c13c0667ff9031557a",
"T2T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "e7443ffd713d3f788e36f482f3bb7f3c85d61f8fd8a541d777e6cd69ef9cf93b",
"T2T1_pt_test_pin.py::test_last_digit_timeout": "103e9b271f58a3f1c3b876c2c00c8db836340d38dd32bce37e232c04275b6ca0",
"T2T1_pt_test_pin.py::test_pin_cancel": "f815d225cd25017c5869608a5125b9f190cd45e8a5e1e759570b87263c5606bd",
"T2T1_pt_test_pin.py::test_pin_change": "a1394b7399b40bd36f1177352b352d90147c2cfae70caa873eb4e1621b3f0bd7",
@ -18509,20 +18509,20 @@
"T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "417c1da9eab9498ebca12eeb68f84bcf91e7eda06462376cc78b2c3b91bba38f",
"T3T1_cs_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "8a7d5aad9f5d2301efd1aa12cfcf1aff57d0e4f9988af59449ce0def5038049b",
"T3T1_cs_test_lock.py::test_hold_to_lock": "008e9e7857137a528fdabdb8c345229b54ff30ac81121d348f760896bb983f24",
"T3T1_cs_test_passphrase_delizia.py::test_cycle_through_last_character": "c50284eafcac56ae79a885b69c41af731fbec058cb9c1b2c1530a0eba59578fc",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "82703969099c6b1e324bef09130969b4d6bd3e33ae79bc7c2f205cc9d05d807e",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_delete": "dc9bc34e1a63c051cd681cbf93d3c285debd6365d730f08f786fb62c4ec21d37",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_delete_all": "073bf9e87d020bc0b1cf7cc4eb88c2400ac2eeaca52f3e615e5e07b317eee6b4",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "8c9ad0f284011c9f8b4a420aa1e561d4e8d79372e15527c323dfd4df7f0e658a",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "ad596ab7750d02356f66b92bf1cdcb581a6debf0e13d6a82066ad89fadd2516a",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "dbbd7e7abdd5974d5f686694393e8482479619b5aad88327cf9ac3b4c9b32280",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "5ff39279ecc92ee01f8080cf8c1838f73df239a64821ed1acd336aaeb0b0e6a7",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "f0397a52adbc6db15642b57287663b7c26538226883fdf32fcbda05a324a2a7a",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "dbe63a152374a1f6a21d5ca46e04bc8cdf11538563d32c183797d4633c3048ba",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "f0397a52adbc6db15642b57287663b7c26538226883fdf32fcbda05a324a2a7a",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "aa10b5ae0903d63d2079614a6d88576523ac5d45f9359c7a3d9d60ac39479fef",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "6422550f3a7f8b777951300934d36f6e4e0f8e0e0b8104179f564178383d8820",
"T3T1_cs_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "ed09230cc4dcd03e181ebb779b028104c53fa3865f386e0b93fc8bec3e9bcda0",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "c50284eafcac56ae79a885b69c41af731fbec058cb9c1b2c1530a0eba59578fc",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "527458f500d65b077b1eaeba65a37355a3f818d0ec530ad49184638c9640373e",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete": "dc9bc34e1a63c051cd681cbf93d3c285debd6365d730f08f786fb62c4ec21d37",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "073bf9e87d020bc0b1cf7cc4eb88c2400ac2eeaca52f3e615e5e07b317eee6b4",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "8c9ad0f284011c9f8b4a420aa1e561d4e8d79372e15527c323dfd4df7f0e658a",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "ad596ab7750d02356f66b92bf1cdcb581a6debf0e13d6a82066ad89fadd2516a",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "dbbd7e7abdd5974d5f686694393e8482479619b5aad88327cf9ac3b4c9b32280",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "5ff39279ecc92ee01f8080cf8c1838f73df239a64821ed1acd336aaeb0b0e6a7",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "dbe63a152374a1f6a21d5ca46e04bc8cdf11538563d32c183797d4633c3048ba",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "f0397a52adbc6db15642b57287663b7c26538226883fdf32fcbda05a324a2a7a",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "f0397a52adbc6db15642b57287663b7c26538226883fdf32fcbda05a324a2a7a",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "aa10b5ae0903d63d2079614a6d88576523ac5d45f9359c7a3d9d60ac39479fef",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "6422550f3a7f8b777951300934d36f6e4e0f8e0e0b8104179f564178383d8820",
"T3T1_cs_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "ed09230cc4dcd03e181ebb779b028104c53fa3865f386e0b93fc8bec3e9bcda0",
"T3T1_cs_test_pin.py::test_last_digit_timeout": "a55871bd8f531347fcb5aba6520f44f82656a3743ba3cd93d1e6b04ed69c22b2",
"T3T1_cs_test_pin.py::test_pin_cancel": "cafc4112a2fa322bfe3a3418b741224782f89af94a721aa821a65210068d03ec",
"T3T1_cs_test_pin.py::test_pin_change": "4410ad3aa1853d194d7692c5e2a9ecef8d22af2b1809a1f787cf8dfb235f1141",
@ -18566,20 +18566,20 @@
"T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "2e415e3f1da52a170dbfc98da4876c230b736f684e53c1a0431572ce1fb4d5c5",
"T3T1_de_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "058b55b4c3807ff7036447b2d3c8cb11bcd850f4d83b098a88a76c3d0f97003f",
"T3T1_de_test_lock.py::test_hold_to_lock": "f1914f56db5cec3b90e32e8e230ad88095fd440142fa21fa7617c2e60dc026a7",
"T3T1_de_test_passphrase_delizia.py::test_cycle_through_last_character": "5479b3d89d4b012da273d984568de2feddb76a032382e9b6c1fe79537bb67aad",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "a545cc0425cdb20eeabf6287c040154b78da92d20109063b32f10adf9b625612",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_delete": "a351f8e01668b9fc8ed960510df87ffbb6f2744dd6d08562618478a2e1f29f6b",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_delete_all": "0e6a2d3f48c5a37478c75b00e3da4502771e696a3b678e9d5379699fe3c4d37f",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "b3bbd1502e2598bf65a97b7fa3ee17b7cc946312434df3c718ff524694d40c8d",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "72e69e958823e24ceb7fdff40ace2c3de29002c2c116f93425deb43b55caf456",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "7e215169b7ac4c278bf47b154a06314c381dcb4ade7dd2005476ed064516e59c",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "04b9b4e83e8cea2240339b3c66d1e324e7dc6b717eff9744096086a2e6612c39",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "6fec17f535504713bf6d8a3b21e85116a8b9653d311a23fd0ed26bf75d216a59",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "1e70fc310891e4a336c928497549b58ea2aaf63bacb61c4ac6821f23633cb7d8",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "6fec17f535504713bf6d8a3b21e85116a8b9653d311a23fd0ed26bf75d216a59",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "42b7fd13571777886f13c5f9afb7d6fac8c4530aa7b682806e1acd210b1d3882",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "47820e5f70c0c68fe5545b9adb3872f065f4dbc117d38333b7d8af3fe34cbe48",
"T3T1_de_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "5f0dbf85426c0f8f5df1a47ea49e52bbc90785a64bba07c630965e90315bfa9d",
"T3T1_de_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "5479b3d89d4b012da273d984568de2feddb76a032382e9b6c1fe79537bb67aad",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "141b25b1c7a5e787008b03d386fda377d1042f5a841fb5f8a0ad05fd8f789e74",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete": "a351f8e01668b9fc8ed960510df87ffbb6f2744dd6d08562618478a2e1f29f6b",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "0e6a2d3f48c5a37478c75b00e3da4502771e696a3b678e9d5379699fe3c4d37f",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "b3bbd1502e2598bf65a97b7fa3ee17b7cc946312434df3c718ff524694d40c8d",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "72e69e958823e24ceb7fdff40ace2c3de29002c2c116f93425deb43b55caf456",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "7e215169b7ac4c278bf47b154a06314c381dcb4ade7dd2005476ed064516e59c",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "04b9b4e83e8cea2240339b3c66d1e324e7dc6b717eff9744096086a2e6612c39",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "1e70fc310891e4a336c928497549b58ea2aaf63bacb61c4ac6821f23633cb7d8",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "6fec17f535504713bf6d8a3b21e85116a8b9653d311a23fd0ed26bf75d216a59",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "6fec17f535504713bf6d8a3b21e85116a8b9653d311a23fd0ed26bf75d216a59",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "42b7fd13571777886f13c5f9afb7d6fac8c4530aa7b682806e1acd210b1d3882",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "47820e5f70c0c68fe5545b9adb3872f065f4dbc117d38333b7d8af3fe34cbe48",
"T3T1_de_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "5f0dbf85426c0f8f5df1a47ea49e52bbc90785a64bba07c630965e90315bfa9d",
"T3T1_de_test_pin.py::test_last_digit_timeout": "b3f46f09362d04a4832e509f4edf7acefc50515c51f17e7fede09d65266c1189",
"T3T1_de_test_pin.py::test_pin_cancel": "3d1c8dc5bd2303e0183a6d17112ea1127c1d100d304a5c20a332ad13890f6e11",
"T3T1_de_test_pin.py::test_pin_change": "183779e3e93ada1c42fc9e58a9073509b8d3df1d0c0315dc9515ae8a21a7a7bc",
@ -18623,20 +18623,20 @@
"T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "dbc79cc01c7e40d3043ddf0231a74975ac5c75801cab161239d848b9cb97266f",
"T3T1_en_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "8dea9aed81d7741c4e8db17feea5b7c09222c3bf3d86cda3590f6076dd990234",
"T3T1_en_test_lock.py::test_hold_to_lock": "b4ca63c91c71fa0fa234c75414fd164b5894ff5d65fc99e5b3e25585c0869ac9",
"T3T1_en_test_passphrase_delizia.py::test_cycle_through_last_character": "bfe9b72679d7a96ef7556eb229c5b2ffe317e3f00a8a75d3dd6a23569a2e2b03",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "589339a475590c04a58d125feab17a459103ae1ba1564bdaf75d87290802cabe",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_delete": "aaecc001b2dc624bfd1e62f5b908a9adab997d9cfd4eb742ee94388cd18ed16e",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_delete_all": "beee4c8e93857b3dc9229aefe34919dca39c327876d98fbe2b7b0d676ef84884",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "45eb7d9f2deb84ee105978c13fa7bdd0639dbfb75399bdabf5cb3eeaf051ae29",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "2d7dbb776dabd5b67ff3cd9576713bee98a658c3feaef788f15b9ac5943440c4",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2b138f5b450c6cbe1b4b22c84ccca5d00ce65383710cf18b9a6a245f9849c6da",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "757fb127aefcc01a5cbf35b9ea7fb457f3a217df13eefa3290ac35bc7159bfbe",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "3987e9840c5ce6c637b0b050217a6bc1aa04636e69f9d111f482c8ae95e10e9f",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "7c2ee5a5a96939d09b9ad3927efcb87d3bec5db8fa3ab712b1571d0b995f2341",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "3987e9840c5ce6c637b0b050217a6bc1aa04636e69f9d111f482c8ae95e10e9f",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "76bcf47232ad0b2efd6847a0c167ef687516032b1f00bc5ae426add81ada5718",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "b47f39928aa3942ef0ae0c37fa1b9babcf9a056e14cb79672076b81dbb4e60a1",
"T3T1_en_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "618a3f28184eba404c7c8c22403b059384adf77caab19db9ea291adc732ead65",
"T3T1_en_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "bfe9b72679d7a96ef7556eb229c5b2ffe317e3f00a8a75d3dd6a23569a2e2b03",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "51b8976fa208dd26dfc18f81eb6362426daa69ee4bed46738428c8a56094d9bf",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete": "aaecc001b2dc624bfd1e62f5b908a9adab997d9cfd4eb742ee94388cd18ed16e",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "beee4c8e93857b3dc9229aefe34919dca39c327876d98fbe2b7b0d676ef84884",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "45eb7d9f2deb84ee105978c13fa7bdd0639dbfb75399bdabf5cb3eeaf051ae29",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "2d7dbb776dabd5b67ff3cd9576713bee98a658c3feaef788f15b9ac5943440c4",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "2b138f5b450c6cbe1b4b22c84ccca5d00ce65383710cf18b9a6a245f9849c6da",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "757fb127aefcc01a5cbf35b9ea7fb457f3a217df13eefa3290ac35bc7159bfbe",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "7c2ee5a5a96939d09b9ad3927efcb87d3bec5db8fa3ab712b1571d0b995f2341",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "3987e9840c5ce6c637b0b050217a6bc1aa04636e69f9d111f482c8ae95e10e9f",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "3987e9840c5ce6c637b0b050217a6bc1aa04636e69f9d111f482c8ae95e10e9f",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "76bcf47232ad0b2efd6847a0c167ef687516032b1f00bc5ae426add81ada5718",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "b47f39928aa3942ef0ae0c37fa1b9babcf9a056e14cb79672076b81dbb4e60a1",
"T3T1_en_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "618a3f28184eba404c7c8c22403b059384adf77caab19db9ea291adc732ead65",
"T3T1_en_test_pin.py::test_last_digit_timeout": "0148d07632083c0aab92088210066cb4cbd1af2a28886dfeb9e4e46d2cbfba49",
"T3T1_en_test_pin.py::test_pin_cancel": "9e676c054a1fa6b28863b19bb20c3b6cdf02fa5fb719e7a6fe3ef319d271a909",
"T3T1_en_test_pin.py::test_pin_change": "e1e9890ef197048cbbd21ff6b6e3de3260b1224ab91819846c9f69b171bf7f13",
@ -18680,20 +18680,20 @@
"T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "e10d549079e227cf8b34c8178ebe2e66df912f13de067f45461ad84845cddcb7",
"T3T1_es_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "14a0303ee6b35a54e036fdf7fdfdad33fed64d5c2d05429d62f28c01df2f9cee",
"T3T1_es_test_lock.py::test_hold_to_lock": "25ff10a405a3050bee8e4ae17f9665f74d14cd7e4efc1d3b5dc2ea76fae59705",
"T3T1_es_test_passphrase_delizia.py::test_cycle_through_last_character": "84aeacbc3d043929234703fb3dccd72c7bdc0d3bb0f28fb48ca1e7fbbb4d0f43",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "3cd7320d1c4c19f4d3931c264aedfd88578f1a5b25b76682235d255c72a8c9af",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_delete": "212fba34f984cab514d0d8acc7ea42b7a27d57123e4321ad19a5e481dac8324a",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_delete_all": "98ddb83a20fba6a4add7c67853beb0a21a75361498156aa1065bb74d7b2914a2",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "505ded757d720b3ec87e12127cfc398fa8af0f24bed826499072c49b3e22a5a2",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "8824aebff8c9f9e058570441796178a7f27989f6ee38f582a1b901d4ecfb98db",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "075547f290aeca437bbaa568fbc8f6899db88a6962cfcf8f781520d612099c57",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "79c6a0f823bee2505360ae62a61096b9d86bf9967cbaf002e1a9babdc712789c",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "da7c751102a99b85f96ede00d20559d9b853c4ea0aa790761fed4581e02e64d0",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "15d200f00654a727b000337bcac711a654f15daaa67518bc1e09b06335d03cf7",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "da7c751102a99b85f96ede00d20559d9b853c4ea0aa790761fed4581e02e64d0",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "f31ce5f8302389f97750b256b0b485435e91ec5ee08747b59ada72237e4fb8da",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "e111e7f242da77a574582e1405d1404065a7bd4509f457c46ef367fd66dbef93",
"T3T1_es_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "5361fde031f692aa40f32e0c218f5c7cb9eb7ebdfcd75525a437ab29bc11ef05",
"T3T1_es_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "84aeacbc3d043929234703fb3dccd72c7bdc0d3bb0f28fb48ca1e7fbbb4d0f43",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "5a40a16033f0e14bdcdc3eeb5ff90aa7e523a69ad2cadc4c2d0d1c465889956a",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete": "212fba34f984cab514d0d8acc7ea42b7a27d57123e4321ad19a5e481dac8324a",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "98ddb83a20fba6a4add7c67853beb0a21a75361498156aa1065bb74d7b2914a2",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "505ded757d720b3ec87e12127cfc398fa8af0f24bed826499072c49b3e22a5a2",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "8824aebff8c9f9e058570441796178a7f27989f6ee38f582a1b901d4ecfb98db",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "075547f290aeca437bbaa568fbc8f6899db88a6962cfcf8f781520d612099c57",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "79c6a0f823bee2505360ae62a61096b9d86bf9967cbaf002e1a9babdc712789c",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "15d200f00654a727b000337bcac711a654f15daaa67518bc1e09b06335d03cf7",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "da7c751102a99b85f96ede00d20559d9b853c4ea0aa790761fed4581e02e64d0",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "da7c751102a99b85f96ede00d20559d9b853c4ea0aa790761fed4581e02e64d0",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "f31ce5f8302389f97750b256b0b485435e91ec5ee08747b59ada72237e4fb8da",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "e111e7f242da77a574582e1405d1404065a7bd4509f457c46ef367fd66dbef93",
"T3T1_es_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "5361fde031f692aa40f32e0c218f5c7cb9eb7ebdfcd75525a437ab29bc11ef05",
"T3T1_es_test_pin.py::test_last_digit_timeout": "360b933ce75a8b890d3dde92af84693df89555f92bde04bc18b677a944e55933",
"T3T1_es_test_pin.py::test_pin_cancel": "f1257d486cbb7cf38e201755768e4585b2ca9eec9109f50e56adf9b8b26283ff",
"T3T1_es_test_pin.py::test_pin_change": "c4460c85107447649589487d2af1896793a41fe9951b169a61df0a7d5861f4ec",
@ -18737,20 +18737,20 @@
"T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "33f5999146317f4c8591e494d9ccdca1256cd8154f98752f9d11ee06d8bec905",
"T3T1_fr_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "81a4083de2e5dd0cb2735fcdfff488f277f8fcfae63401f3d0adad795395e28a",
"T3T1_fr_test_lock.py::test_hold_to_lock": "b4a79c04782cf6a422f731b2984cf6457d14458907ad62eeff2788596734201c",
"T3T1_fr_test_passphrase_delizia.py::test_cycle_through_last_character": "eade578f09bef8d45a2947d551be705cd6a965cc3f4ba0f4cb19f4bc6ccad229",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "3e9ace72613cd66b99723b0e240397cda4ad7d0b53d51d70afb1848b846558dd",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_delete": "76c73fa4aa95b1456a73a4a702070f8d1e4e1621deadf800c3a666016695bfb1",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_delete_all": "00fda4440890477e576f52abb53307739913652112db2fd6513cde1205bb592e",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "68f17d282a7d14fd48b81bbce9dbf062b4bc2543bbeba4c0d870c3e8b4c88bb4",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "076d980ed04dd7ff8f40a2001a2380d7290a23e0c247da10a2c34727b0654879",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "353ab91e078508d9b2815cd718510634c52664bf9ac27a8daa902e7b19bb91c8",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "04d44628eca02967820f391f02eaead6e2811f8b0ad94f8584f65aa136e126a7",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "dc5fc5b63f499df0876aecc956e4738c4275d0dccad2978e7013b1aa86d66424",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "4e7d639cdac426bc0c831e130b438b527b3d61eed8b50306d5cfff9711c7393a",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "dc5fc5b63f499df0876aecc956e4738c4275d0dccad2978e7013b1aa86d66424",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "03c08d5b5329a6a3ed5be05302dadf2a4721eb655210b5e4069b110816850795",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "634c9b42a9cd5fadbfa8793fd0844d8e84f80997bf52b7941333f9b193c5c3e0",
"T3T1_fr_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "636816e3224b253aab48403cd198fcf62f2b6a6ee4df95bcebb5c951948d9ee4",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "eade578f09bef8d45a2947d551be705cd6a965cc3f4ba0f4cb19f4bc6ccad229",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "594c436164883d7c39e66eab4b4fc60ca5ee2b0e9be01ac853e242fda5d7a810",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete": "76c73fa4aa95b1456a73a4a702070f8d1e4e1621deadf800c3a666016695bfb1",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "00fda4440890477e576f52abb53307739913652112db2fd6513cde1205bb592e",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "68f17d282a7d14fd48b81bbce9dbf062b4bc2543bbeba4c0d870c3e8b4c88bb4",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "076d980ed04dd7ff8f40a2001a2380d7290a23e0c247da10a2c34727b0654879",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "353ab91e078508d9b2815cd718510634c52664bf9ac27a8daa902e7b19bb91c8",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "04d44628eca02967820f391f02eaead6e2811f8b0ad94f8584f65aa136e126a7",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "4e7d639cdac426bc0c831e130b438b527b3d61eed8b50306d5cfff9711c7393a",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "dc5fc5b63f499df0876aecc956e4738c4275d0dccad2978e7013b1aa86d66424",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "dc5fc5b63f499df0876aecc956e4738c4275d0dccad2978e7013b1aa86d66424",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "03c08d5b5329a6a3ed5be05302dadf2a4721eb655210b5e4069b110816850795",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "634c9b42a9cd5fadbfa8793fd0844d8e84f80997bf52b7941333f9b193c5c3e0",
"T3T1_fr_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "636816e3224b253aab48403cd198fcf62f2b6a6ee4df95bcebb5c951948d9ee4",
"T3T1_fr_test_pin.py::test_last_digit_timeout": "ce42c7128e6c30c6e421f5d9f653a003eafcbcd43d2f67b3adb71af11af6c93a",
"T3T1_fr_test_pin.py::test_pin_cancel": "f566b5ef1b01df0fc96291eac714a44f3ab85d3bfbe43fd930d674797dd3bbe4",
"T3T1_fr_test_pin.py::test_pin_change": "ebbf9a3572adbf869837916deb07d805d7b219c936678595a9ac10e18cf77b82",
@ -18794,20 +18794,20 @@
"T3T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[2of3]": "e280538e5ac2a4b17d15008f1557d86aaa06b97cae5e564f307f126f1c1aebd8",
"T3T1_pt_test_backup_slip39_custom.py::test_backup_slip39_custom[5of5]": "80c71d70a3a7d72dc3c2ed40e9b171a2dffc3e757e1f716b532c3580ca984fc0",
"T3T1_pt_test_lock.py::test_hold_to_lock": "11eafea6b15f8f6e9abd932233f7d87bdc10f527f15b362f45c9b2992ce42091",
"T3T1_pt_test_passphrase_delizia.py::test_cycle_through_last_character": "34f794c37c42d5d48fe7488291da0eaa64c73ae4a68e5700da5cbbaab67127df",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_click_same_button_many_times": "7c66cc121524b4930f78c6d04045271281d3b95d7b574792974eab8b7e60b60a",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_delete": "7a9621e814820c8e34d31c53bc511a0513e9409ad2af4357c8d4d02863b1db54",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_delete_all": "17b9dd0e0154d2f8a5bd72f84fbc3df5850af6547f8fd8ff873481aa47b35f10",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_dollar_sign_deletion": "ed76567916be7c4792b2883051cfef592f7b869d4c236dfe4719c40cb9741bd7",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzLgfCxU-a6c3b67d": "32ff45d856030e399c7a6b9986700959c7f3d6d56ae977ef9728629ebd58b5e2",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "6782faf514031298fbb27b986bbfa86ba1ac2e0bb9948c0ddfcc01ed0aab8457",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97yueT6sEdQiG]": "ab0a374dbc7cdfa55a3d002fda9528b43b32f467c5b5c8a86a94dc33c28924f9",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-498fceab": "ae4872c9ffe24cdd4b72414f47a6445e7c1ea880f786e22b2a46254bf71fa0ff",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadadadadad-aebb7575": "b22de26ed81d60845cc533d220f98254a87568921431cca5ed7b8e8a2166feda",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_input_over_50_chars": "ae4872c9ffe24cdd4b72414f47a6445e7c1ea880f786e22b2a46254bf71fa0ff",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_long_spaces_deletion": "3edfec06a86b7d7cf7ae1cd1e97b9a8d7bb0d8d855b94e4c88c1b6098e8fa89e",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_loop_all_characters": "265e14a603c4cf25b2a38ca23fb594c1b51bfc33164993b5df5ca2ee2245b2e6",
"T3T1_pt_test_passphrase_delizia.py::test_passphrase_prompt_disappears": "d9100a96878999cc4ad31c5428d8cd7a9ba6271a2cb7d86c5234996fff0715a5",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_cycle_through_last_character": "34f794c37c42d5d48fe7488291da0eaa64c73ae4a68e5700da5cbbaab67127df",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_click_same_button_many_times": "55ded59a77246d9611fef27fc2cbd7f7a310979e0be536c1e2cef6debcde2bda",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete": "7a9621e814820c8e34d31c53bc511a0513e9409ad2af4357c8d4d02863b1db54",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_delete_all": "17b9dd0e0154d2f8a5bd72f84fbc3df5850af6547f8fd8ff873481aa47b35f10",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_dollar_sign_deletion": "ed76567916be7c4792b2883051cfef592f7b869d4c236dfe4719c40cb9741bd7",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[Y@14lw%p)JN@f54MYvys@zj'g-mnkoxeaMzL-378fe4ae": "32ff45d856030e399c7a6b9986700959c7f3d6d56ae977ef9728629ebd58b5e2",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc 123-mvqzZUb9NaUc62Buk9WCP4L7hunsXFyamT]": "6782faf514031298fbb27b986bbfa86ba1ac2e0bb9948c0ddfcc01ed0aab8457",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[abc123ABC_<>-mtHHfh6uHtJiACwp7kzJZ97-ba38238e": "ab0a374dbc7cdfa55a3d002fda9528b43b32f467c5b5c8a86a94dc33c28924f9",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-11fcbfea": "b22de26ed81d60845cc533d220f98254a87568921431cca5ed7b8e8a2166feda",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input[dadadadadadadadadadadadadadadadadada-4f4d1ec7": "ae4872c9ffe24cdd4b72414f47a6445e7c1ea880f786e22b2a46254bf71fa0ff",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_input_over_50_chars": "ae4872c9ffe24cdd4b72414f47a6445e7c1ea880f786e22b2a46254bf71fa0ff",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_long_spaces_deletion": "3edfec06a86b7d7cf7ae1cd1e97b9a8d7bb0d8d855b94e4c88c1b6098e8fa89e",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_loop_all_characters": "265e14a603c4cf25b2a38ca23fb594c1b51bfc33164993b5df5ca2ee2245b2e6",
"T3T1_pt_test_passphrase_bolt_delizia.py::test_passphrase_prompt_disappears": "d9100a96878999cc4ad31c5428d8cd7a9ba6271a2cb7d86c5234996fff0715a5",
"T3T1_pt_test_pin.py::test_last_digit_timeout": "1f0cf830e8e0900afe1adf43add940e80dc985d83beff371709a16d985b17f0c",
"T3T1_pt_test_pin.py::test_pin_cancel": "bb5b541dc64dadb1dff07deff7b9dda59fac608b2ebab0eb2b9187816197d199",
"T3T1_pt_test_pin.py::test_pin_change": "4de9eecc8b6e4d35ddbc1ba5fe4a464fe749b6f29fb40d5bfbd2f2d23fc78011",