From: Benjamin Berg Date: Tue, 29 Sep 2020 10:35:48 +0200 Subject: tests: Add AES3500 test case Thanks for Federico Cupellini for providing test samples. Origin: https://gitlab.freedesktop.org/libfprint/libfprint/-/commit/62edf9395 Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libfprint/+bug/1897613 --- tests/aes3500/capture.ioctl | 13 + tests/aes3500/capture.png | Bin 0 -> 67861 bytes tests/aes3500/device | 561 ++++++++++++++++++++++++++++++++++++++++++++ tests/meson.build | 1 + 4 files changed, 575 insertions(+) create mode 100644 tests/aes3500/capture.ioctl create mode 100644 tests/aes3500/capture.png create mode 100644 tests/aes3500/device diff --git a/tests/aes3500/capture.ioctl b/tests/aes3500/capture.ioctl new file mode 100644 index 0000000..147d014 --- /dev/null +++ b/tests/aes3500/capture.ioctl @@ -0,0 +1,13 @@ +@DEV /dev/bus/usb/003/004 +USBDEVFS_GET_CAPABILITIES 0 7D000000 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8001 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8000 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 4 4 0 81008000 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8002 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8004 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8100 + USBDEVFS_REAPURBNDELAY 0 3 129 0 0 8329 8329 0 E00200005201000004010000604996BADC01000070CBFEEFED010000A4EDFFEFEE0161B9EDEEFDFEFF64CAEDDFFDCDEEEEB8C9EDDEEDFFFE5EDCDCCC5C00000000CB27000000000000880200000000001001000000000092EC020000000052DAFE0100B67E83ECEDDC0160AADDECFFEFFE41CAFEFFDDFDDEDDB6EDEEEEEDAECCFEDCDDDDBB6862967BECEE9C0400000000EC480200000000004B00000000000000010000000050DAFE01000040A6DDFEEE010000A5DCFFFFFFA886865BC9EEFEFFCBCCEDBDECEEDDFECBCCDDCCEDFEEFFEBBDDDDDDFEFF8F53CBCDDCFEAEEC1800CACA9D38000000000110000000000050010000000060DBFE0100001030E9FFFF424575CBEDFFFFFFBAACCCEDFFDFFFFFBACADEDDFEFFFFFFA9BBDCDDFECDED4CA99AB9BC47000000A9CBCB3A000000003565120000000030020000000073C8EE02000000A5DCEDFE010030D7FEFFFFFF0140CACEEEFEFFFF6ADAEEFFFFEEFEFF69DBEEFFEFCE8903CBDCFECD79130000BABC8B12000000008A5800000000000002000000000046D60100000020A6DDFF010040AABBDAFEFF0110A9DDDDDDFEFF53B8DCEEEE8EDCFFCCCCDCDCDD9DA955DCDEDDCDCD9A0300DADDDD7E48560100ECDECB5C000000004B33000000000000010000000000509401002061450110C90130B8DBCCCB96EC0170CBABCDDEC5EE37B6CDDE9BBC84E8ABCCDCFECE7C3A21BB6CDBEE5B010000BADDFEBD3900000087DC7D02000000000201000000000085020000000000B6DD0100110084D9EEFE0100B8ABDCEDEEBD0283DC6DCBDDAD34A6DCCDEDEDDE2900DACCCCCC9ACB0500CBBC7A4915850200BBBA365102000000CBBB04C7FE5D0000793600C9BCBE0460050040DBFEEEEEFD02000070DAD9FEFF0200000022C8EEFE01000092CBEEEFFF015088ECEEEFEEFF42CAEDEFEEEEDD3BB9CCEDCDEDFDEF05CACCBAEDFECD9C02A9BB7A72BB030000A9AB380013000000A99A040000003083290000000000B4ED0300000070DCEDFF02000000C7EEEEFE010033C8FEFFEEDC0160CBECDEEEBE4A0194CCCDECAF154712B7CBDDDC180000AABCCACCDD3A0000CADDBCEDDE160000CADB7EC817000012BADC3900000090FDA79C0100000080FDB87D00004022D8FFAA4A000086D8FDFF1700001596DDFEFF180000B8D9EEFFEF01000067D9CEEC7F0100407B92BBFE5E0120A5CBB59DC9040196DCCDDB6E010094CCCDDD28000000CCDDA99B17000050CBBC8CB9050094FDBBAC34240000D8FDBBCB04000050DAEDCBCC03001060EBDE9B140000A5CCCBAE05000070ECB935FB01000080EC160070010000B5DD0500000100304AEA0500000160EAEFFF0660950287C9AB6D00808A01C6ABDB4B0080BD21D9AD77030074EC01A5280100411390012000000040044001000000100100000100000020010000E1A2EDFFFFFFFFFFFFC9CAEEEEFEFEFFFFD9DBEEEFFEFFFFFFCBEDDEFCEFCCFFFF46A9DDFF7F01C5FF2700A516000060AB0100000000000000010000000000000001000000835B0000411680BCECCE78A7D9FFFFEFFEEEEEFDECFFFFFFCFEDFFFFECFFFFFFFFDEFEFFECFEFEEFFEFFFFEFECFFFFFFFFFFFE9DFCFFFFFFCF866C01DD27720400000000020000000000000002000000000070DC010096CAFE3AA3FE7C93FDFFFFDFFDFFDBECFFFFFFFFFFFFECFEFFEFFFFFEDCEECFEFE7FEBEFFD3BDAFFFF6BFB5E52008B936D0000000000030000000000001001000010300092ED128265ECEEFEFFFFFCFFFFFFFFFFFFFFECFFFFFFFFFFDFFFECEEFFFFFFFFFFFFDBFFFFFFFFFFFF6FFDFFFFFFFFFFFF5FA8AB040000D71600020000000000000001000000C7DE9C7A019774EAFFFFEFFFA4FDFFFFFFEFFFFFECEEEE7EEAFFEFFFEBEFFEBFEDFFFFFEAAEEEEFFFFEFFFFFDBFFFFFFBD1680FE73ECEF16000000300203000000000000010000000040B8040100000100C6FEBE729A98DDB6FEFEEDECEEFEFFFFFFEFFFFCFFFFFFFFFFEFFEFCFFFFDEDBEFDDFDECEDACB9AEDB9D86DB9A25A904000100722700000000000002000000000000000200000032030000010072C8EEDEBE850200B8FEEFFEFFFE95EBFFFFFFFFFDFEFCFFEFFEFFFFFFEAFCFFFFBEEDFF5AFBFDFF8F0276FCECAFDCFF28000013833A02000000000000000200000000000000010000B799EDFFAE020060DCEDEEFFFFDCEDFFFFFFFFFFFFECEEFEFFFFECFFFFDCFDFFEEFEEAFFFF4A45ECCEEEFFFFFF05000015A814D7EB0200000026002200010000000000000002000000006099020100841600C6EFFF9965DBDF97FEFFFFDBEEEEFFFFFFFFFFECFFFFFFFFFFFFFFFCEFFEFEFFFFFFFFEDAFDCCCFFCFEBAEFD270000702800002A000000000000000200000000004029011014002063FBFF0293BD25C8FEFFFF93FCDF9AEDEFFFFFEBEFEE6DEBFFFFFFDBCEDB6DEBFFFFFFEBBDDD7C79FB6E92CBDDEE6C016004007ADB7D020000000085ED7F0100002002022004003046E9FF01000000C6FEFFFF01000092EDFFFFEF010092EDEDFFCF4682BBFFFFFF6F0000C5FEFFFFFF16C74BECFFFFDF37A3FEFFDCEEEEFF27D9FFFFDCDCFE7E02D8EFFEFD6B560000C5EEBFED260000003095050200000000000070010000000270BCFD0100B8FA8FFDFFFF32DAFEFFBFFFEFFE52ABFEEFEFFFFEFE01C8EEFFFFFFEFFFB6DCEEBCEEFFFFEEDCBFCD384710D9FEEC5A9C0200000082DB26000000000000AA030071EB5D0000290050EBFEDF05203B00B5EEDBEE05D81312C9EEFE7C01D8B4FEFFEF9F0250FCEBFEFD7F7B0180FDFCFFDAEF97CDEBFFFCFFDF38A4CDEEFF98FC5C00C6AECCCE05000030C8EECC3A02001070BB8D5505020061D8DD260000020087B48B020000020094955C000000E2ECFFDFEDFFFFFFFFECFFFEFFFFFFFFFFECEEDEFFFFFFFFDFECEFEDFFFFEBFFEFCD5B716B01A36BEC03000000000000C701000000000000200200000000000000020043980500000068CADDFFADCB7C34FCFFFFFFDFFFFFEEEAEDFFFFDFFEFFFFFCFEEFFEFFDCFDFFDBEECDECDD5D12A58BA46B010000000002000000000000000200000000000000020000000000000004506579452870DCECCCEEBC9DDCECFEFCFFFFFFFFFEFFFEECFFFFEFEFFEFFFFEBFFEEFFDEFEFFFF0211404AD9FFFEFF01000000B54B00D7020000000000001002000000000065018A649B4986CAEC6EECECFEFFEEEFEEEFECFEEFFFFFFFEDFFFCFFEFFFFFFFFFFFEDFFFFFFEFEEEEFF83EBFF163156A4FC01223500000000B601000000000000200200000000000000ACDA398455471100FDFFFFFFEFEEDD05FCFFFFFFFEFFBD86EBFFFF7FFCFFFFDFFCFFFFEFFFEFEFFFFBFFFFBDB9FEEFFFEA4A001300C6DDEB0300000000301100020000000000000001005074030000000370CBFC9F021012DCFFDEEEEFBCFEFFFCFF9EEDFFFFFFFFFCFFDFFEFFFFFFFFEDDDCEFEFFFFFFFF9A5B97AAFBFFFFFF0200000060DBFEFF01000000000030150200000000000000B849760100000000FCFFFFB8DECAFF59FDFFEFFFFFFEFFFFECEFFDFFFFEEFFFFDCEEFFFFFFFFFFFFDCEDECFFFFFFFFFF8B73FDFFFFFEFFFF020057515974EAFD0200000000304470010000000000000032BA530300001000FDFFFFFF9EC8FECCFCFFFFFFFFFFFFFFFCFFFFFFFFFFEFFFFCFFFFFEFFFFAFFEFDFFFFFFFFEEFFFFFD69B839D93963980200000000000000010000000000000012B88C15B6AD2500EBFFFFFFFFFFFFDFECFFFFFFFFFFFFFFFCFFFFFFFFFFFFFFFCFFEFFFFFFEEEFEFDFFFFFFFFFFEEFFFDFFFFFFFFFFEEFF5499330270FDFFFF01000000004314120200000000000000DACE9C1461370000FDFEFFEFFFEF9949ECFEFFDEEEEEFEEFECFEEF5BDACDEDFEFDFFEFDEFEEEEDEEFDFFEEFEEFCCEDED020200306901B6FD01000000000020EA01000000000000A202A7270000000000E9FFFFFEDFCE0500C5FFFFFFFFFF8E02FAEFFFFFFFFFFFDFFDFFFFFFFFECEEFFC6FFFFFFFFFFFEFF22D9EBFFEFFFFFEF290000EB28A3EDEE29000067010030C60200000000000040014058006601000002C8FEEFFF180000EDFFFDFFFFDF5C00FDFEFEBFFEFFFFDEEAFFFE9FDDFEFFFFC7EEFEFFFFFEFEFFFCFEFFFFFFFFFFEEFDAF746503D6EFEF560200000050EBFF0200000000109755021024000000000001A5EEDF1700000093EDCEC8DEFE4B00DCEFDDCDDCFEDFCDECED97CC8EC7EEFEDAED77DC7DC9CDEDDCDE3603B7DDBDEDECEE150185C9DCDDDCDD2500001096EAB8260000000000B502000000000000200100000000000000010021715A01000022113394572402004556353433531300E3ECFFDFADA55B0100ECFFEFCEDDEE6D309B9AECFEFFEFBEEDDBFFFFEDEEEEFFFEECFEFFFFFFEDFFFDDC65ECEECCCDFEFF16009605A4FEEFFF0200000020A3CDDE01000000000000008645000000000000CADDCAFD3A002302ECFFFFFF8FA4FDCEECFFFFEEDFEDFFFFECFFFFEFFEEEFFFFC8FFFFEFFFFFFFFF0275EBFFFFEEFFFF010000A4DABC67FC020000000000009157CB8B0200000000ECFFEE4B31260100DCFEEFBFCAEDBF03DCEEEEDEEDEEBD35ECDEDDBDDCDDDDFEDBEEDE39C8DDEEFEECDDBAACCCEDFEFF460150DBDEEEFFFF0200000031B549E902000000000000102500000000000000FC9DFDAE8A870300ECFFFFFFEFFE8E25FCFEFFFFEEFFEFFFECFFFFFFEEFEFFFFFCEFFFFFFFEEFFFFA34BB7FEFFEEFFFF010000B7FDFFEEFF01000000001600D70100000000000000FC6A959B24000000ECFEFE7EDC390200ECCDECCEFFEDFE4CFDEF8C99FDFFFEEFFDCFFE9ECAFEFFFFE99AFDED9969C6FF0200B844EAFFADFD0130000082FC6EFC0110000060CA77FD4D00000000000090CDEBFFAD04000000ECFFFFFF39000000FCFFFFFFCE040000FDFFFFFFFFDEBC04FDFFFFFFFFFFFFFFD9FFEEFFFFFFFFFF31EBEFFCFFFFFEFF0144DA4BEBFFFFFF0100000050BAFCFF06000000000040EB6C250200000000B3FCDEAC0300000030ECFFDE9945C90700EBEFFFEEEEFEBF04FCFFFEEEEDFFFFFFDCFEBEFDDAFDFEFF02300050DAFFFEFF01000000A3EDFFDE58040000609BECDEECCF0500000091FDECEF8E5A010080BCECEEEEFF8E020000ECDEDECEEE3B0000DCEDCE4BDAAE0400A5EDCDEDEEDDAE0302C7CEEEEEFEFFDE0193EDFFFFFEFFFF0210A4CBFFFEFFEDDC150000A3EEEEFDFC6C030080FDFFFFEBFFBF0440FBFFFF48DBEE8F0220A1FEFCEFFFEF28000010FCFEEEFFEF99550086C9FEFFFEFFEE6F0230B7FDFFEECEEF020000B4FEFFFEFD02000020B7EBFEFF160000000000B5FEECDD1500000080ECEBFFBE6B230000C6EAEFEEFEFEBE0430DAEEBBEDEFFF1800ECFEEEFEEDFE7D01ECEFEDFFFFFFFF3B4465DCFEFFFFFF9F010001A3FDDEEEEF01000070CADDFEDF0213000042D9FEFFBAEE5C000060EBFEEBEFCF270000B4DC7BEBDECD26000082ABDBFEEFDE170000ECFFCEDDFEBE0400DCEEDCDCFEEE9D028A83DD6EEBDEED4A0230DABFCCDECBFE010020EACFEEEDEE260000C6FEEEEEFFEC270092FDEFEEFEEC6C0300C7EEEEFEEBEECF0500A3DCFFC9EEFF6D0100C6FEDCB6ECDC170050EBEBEDECEC6C000094C7EECDECAE43000032749BDBEDDC5B000210A7EEEDDEDE2902000072ECDDDCCD29000010C8EDEFFEBC870100B6ED68EBDBDC5C00709ADBEED9DEDD050074699487CADB4B0050DA79DCDCDD9B0330C9EEDADDBC9C040070DC52AAA8BA390020B9220061BAAC030092010000A7AB160080410100739A280010E40100000000009596A803000000001096DA4A410100000050DC7CDAACCB050000DCDEDDDDDDDFBF03DCEEEDEEDEFDFF8BDCCDDDEECEEEFEFFDBBDFE7FDBDEFEFEC7CEFFFFFFEEFFFE01000070DBDBFFFF02000020D9BEC7DE44430000200270ECD8ED6C00000010A5ECDE7B0100000000ECDECDFFFF5D0100ECEEEFFFFFEFAD17ECEEFEFEFFFEFFFFBBECFFFDFFFEFFFF02708DE9FFEEFEFF01200160ECEFFFFF01000010D8BEEDFE94390000640300A3ECCE040000000060ECEF9B1501000000ECEEEEEEDE8B0200ECDFFEFFEFFE3B00ECEDEEEEFFFFFFDECBC9FEFFEFFFFFFF0260ECEEDFFEFFFF010095DBEEFFFFFF01000010B8EFFFFF7B020000702990FEEC9C4500000050FCECEEFF6D01000090DBEEEE8E94390030ECEEEDEEEDEE1900DCDEEEEEDEEECD36A4CADEEDDEEEEDFF71DBDEBDDCEDEEFF01004127C8EDDEFF01000000A5EDEEFF0200000010D9FFFFA4EE56000032A3FEFCEEEEAC17000085FCFFFFFFCF040000BCCAEEFFEE9C0300FCCEDEEEEC8E7B01ECFFDFEECFC8FE28FBEFBE28A7EEFFFF2244CB55CBDEBEFE0100A71344EAEFFE020000000181EDFF5C0000000000B8FCCC5A000000004024DCCEB8BC16000000ECEEFF6E39000000ECEEDEDD7DA40600FCCFFEFFDEFEFF4CAAC9EEFFEEFFFFCE0250ECFFFFFEEFDE0100B9C9EEFFEFFE01000270FCDEFFFF36000000D717D8EEFD4B00007002B5DDECCE1600000080ECECFE9F02000060DAECFEDF4701000000CCEDFEFF5B010000DBEEDEFEFFCD0500C8EEEEFEFFFF9E0283DBFFFFEEFFEE4D0160EC7FDBEEDFAD010070BDDCEEEFDE03000065DBEEFEFF5C010000B5EDEFFFECFF7E0161DBDEEEEBFEDF050082FCEFECFFEF390000C6FEEBFFFFEF3A0070ECECFFFFFF8F0210B5FBFFFEFFCF05003082EDEFDFFE7F020001C7EEFFFEFF7F010230B5EEEEFFEF4C6C0100D9EEFFFF8FEC6C00B4FDEFFFBFECDF3900C7EEEEFEEBFFDF1692ECEEDCECFFFF7F02A3DDDDECFFFFEF1770DBFED8FEEFFE4B00B6FE11C8EDFEFF2800C70100C9EEFE2A00B40200B5EEFF7E02B3EB3970ECEEFF1850EC8E51DBFEFF4C00DCFE16C8FEFFFF4DDBEC28A3FDEFFF7EDBDD5C00A3EDEEEFDBDDBE0460ECEEFFD9DEDD8D02C7FEFF93DCEEFE5C70ECFE31C9DEBDED3BA7FE0110C86DDAEEDBFE030060CCDCEEEDEC5C0100B5DCDDBC97DB380070CBDC6D51EBCF043098DBDE57ECEE6C32D9EEFEACC7EEDE0570DCEDEEDBDDDD1600D8EEFDDCCDED5C00C4FECFECCEEDDD2740B4EEB7CCDDED6D0120EA0173CBDCBC0630EB0160CCBCED5E70EC0210A8CBDDDE05D60100A4BBADEC3C2003002076CADC7E018905000095CBED04DB6E0020A7ABDC05CB8D0110B7CBCC2ACA9D020493CBDC7BCAAD386089DCCDFC98B89E0100B7CCCCBBDDCE040083A9DCCADDED28000032779897DC6D01000031E5BAABBBCBAC78390099CABCBABCDC9B5967B9BCCB9CB8CCAD0211A4AB8AC9DDBC0200000040CADBDD0400000020B9CCED9C02000020C9BDCB7B5A020000B54BC7DBDBED4A000050DADCEEEEEE39001096DBFEDDEEED2A0000CBDDDDEEEDBE2800ECEDEEEEDEEE7F01A3DCFEFEEFEEEF3901B6FEFFEFDEEE6D020000B4EEEEEEFE17000030D9EDEEFEEC8C0200B5EEDEFEEBFFEE160072ECFEECEFEE4A1300C7FEDCEEEEEEFF1700A3ECDDDCEEEE7E0240ECEEEE8CCBDE5800A5A9DD4AB8DCDD160200A59BCBDDEE4B020030B6DCEDEEEF4A000070ECFEEEFFFD7D0150DAEEFFFFECFF160000D8EEFFECFFA95C00C7FEFFECFFFFFF1780ECFFDBEEEEFF6C0400E8DCEFEEFFEFCE0520ABC9EEFFFFEFBE030520DAFEEFFEDE350200C8FEFFFEEFFD0200B5FEFFFF9CED8802305298FDCADEFC7C0100000180FCDCCE8E010000B4FEECFFEF16000093FDECEEDE8C020040CBDBEEFEDE270000B8DCEEEEFEDF6C010086A9EDEEFFEF18000100B6FDEEBF6D15010050EBFFFFFF8A010030DAFEFFFFCE9A020092EDEEFFEFBC35010083EDDDFEEC9C4B0000B6EDDDECEEAD0400A3EBFEECFEEE6B0200A4FED8EEFEDE7E0110A482ECFEEFBE04003001B7FE6EDBBE04000120C8EEEFDE4C00010060DCEEFECD05010000C8EEFEFFEE060000B7EDEEFFFE5A020093EDEEEEFEEC9F0110D8EFFEFFDBFF160000D6FEFFECFFEE160070FCFFECFFFFCF0540EBEEFCFFEFEF1700C6EEEBFFFEDF6D0091DCC5EDEEEFCD0440EB92ECEEEEBE1700A111C8EDEEDEEE190001A5ABDCFEFFDF0401000037C9FEFF1703000063DBACFD5E59000000C6DCFE9EAB6B0000A3DDEEEEDBDD0400B5EDEDDBC9CD0300B4EEEEFDEBFEC80410B8EDFEDCFEFF6D0170DCFEDBFEEEBF0420D9FEEAFFDDED290060FCB5EEDDCD5B0020EA81DDEEDDDE2900D801B8DDCBDD5C00C50181CBDDDDFD3B910210C88DB7CD3B000500A49BDBED4C008C02304AC9DCDD18DC3700A7CCCBEDCFCCFE28A6DCDDEDFFDBEE6E0093DBCEFEDBEDCF0440B9EDEDDCEEFF1610B7DDDDDCDBED3A00C8DCEEDBEEFECF1782DCDDDAEEFEFF7F0164DBD8EEFEFFEF0600C792EDFFFFFE3B00C801B7DDEDDE7E02C806B6CDECEE8F02B43CA4ED7DDBBE07609C62DB8EDBED5E00EC2871DCDDDDDE04EB7E2039A8DBED05DB8E71CCBCDBDD18CBCE34BADDDCEC8DC8CD03A7DCDDEDFEDBDE0570CBBEDBFEECEE6D60DBEEDEDDDBDD6C01B5DCDDEDCBEC8D0192CCDCEDBBCBBD0430D9EDFFABDCED3900A8DCFECBDDEE7E01C6EEC6BADCDD9E0391EDFEDBCDB98B0280ECDEEBBEA6CD1750DACDCBEDDACD3A0093FDCBDECBCCEE05B6EDDBDDCE7EBA03A2EC42B6DDDECD0480DB0150C8FEFF1960DA0120B87DDA5E00B50300A528C76F0180190072DBED8F0140290060AAEC9E022016002055A65B00100200008287040000E601108699AA8C021001004086BABB2600050030A8BABBCB2A972640BABBCCCD27BA890120B7DCCC9BCB9A020060BBDBDCDBBD160030BAABBB9BCABC2710C8BDCABBEDEECE17926ADADBCEC8EE3A0000B782CCDEDD5B0000C602B7DDBDAB4A00700181DBDDEEDE05200120C9ED8BBB18002900A5ED9ADBCD059C0260DCCCDDFEBFDB4A40DADDDCFEFFDB8E0110B7DDDBFEEBDF040061EBEEEE8AECBC3A00A4EDDEDBEDDC8B0370ABDCDBEEDCDC3B40CAEDECEEEFEE9E43CADE72A7DD7EEB39C9CD0160DCDEFEAE939B3870DB9BDCAD83ECEC47DAEEEE8D01C7DC8E95DD9D1600C6DCDE385236000050ECED8E0200000000ECEECFA97C240000ECFFFFDCEDDD2A00D9FFFFEFEFEEBD4872DBFFEFEFEDEFC80100B5FEFEEEEFFE3A0000A4EDFFEEEE39000000A3CDBCDC3900000070CBCDEEDADECE0520B8DDCBCBFEFF4B000060EBB9CDFE7E020070ECD9FEFFBF170040D7DAFEFFEFBE040093B7EEEEECFE5C003002A4ADEDFFEF3A000260ECFFEFEFEE170210A4FEEEEEFF6E180030EAEEEDEEEF29000070DC97DCEEDCCD0460DAEEEEEFECFE5C0050DBEDFEECEEAF0300A5DDFEECEEEE1600B6DEEDECEEEE4B0080ECFEEBEEEEDE4B20D8FDD8EEDE6DCB0580DC22C9DEEDED3A10C80284CBEEEECE04B60200A5EEEEEE19000600B7DDDDEC4D002A00A5ECDEEE8E018C0230C8EDEEFF18EC5C0050C9EDFFBEDB7D040080ECEEFFEBEEDF0530CAEEFEBBDCFE3A00D7EEEECADDEE7F02C6DDEECCDDEEFE2870DBEDDCDDEDFE6D11C8EDDBDEEDEFDE0560EB72ECEEDEEE2A00D801C8CD5CC9AE04800160CBCDBCED5D100260DBEEEDEEDF040660EBDDDDDDEE054B00C8DDCDEDEF3BAB0330B6DCEEDEBEEB8D0160DBEEDDFEECEF2810B7DDEEFEECFE7E01B6BDCBFEDCEE9D02A3DCBAEDDCDECC2860DADDECDBDDCD5C0080DCCECBEDDEAE0460DBDDDCDDDDFE2800B7ECECDEEEEEDF0591EB52DBEDFEEF0710C801B6EE6DCA3B20DA0350DCCCEE5D00D73B30CADCEDDE0640CB45CBCCDCEC5D00DB4AC9BBBDDD9E02CB7E61DBEDDDDD06B9DD1432B8ECEE4CCAFE6E00B6CCEDDECAEE7E00B6EDEEEEDBEDEF1681DCDDDDCBDDEE5C0080DBEECBEDFE9F0391BCEDDBFEEEEE1791CBEDDBEDDDEE5D30C9DDCBDDCDDD7E01C6CD93DC8DA5CC0610D8A3CBAC26B78D01B752BABB89DBED07D811B8CBCCEDDE3CB40272DBDDDDCC4C600320B8DDDCCDBD02041062DBDDDDED185A000062CBEDDD7E4C100200B7CCDDBD17C8BE1370DCEDAE47DAEE1700B6DDBE7BDCDD7C0280DCDCBCDDEDEE2920C9ED8BA7DCDD7C01A6DD3A60DBDCED2AB5DBBA44B8DDDC5E20D9DB15A9ACDB6E0193DB6CCA6DBACC0770CB9D43A8CCDE3B30CBED5D706BDA5E00DCEE7F50DACC4C00ECFEAF02B6DC2B007CB5DE0450BA3780CCEECD0520653320A67A58010031B804D7CD6B010082BB04E79699BACCCB39009301A5CBC8BCAB04200150BABBBCAB6A000100A7BCBB998A0413130097AABB990699AB03929AAA9978BABB5B50B9BB8AA9BABAAC0395BABBB9BABBAC3900A6AABBBABB8969140093B9CBBCAB7BAA2810A7B9CCCBDCCC6B0182CBDCDCCDAB68020066B8CCCDBCAB69000141CACBBBAA97020200A6CBB8BB8774060094CCBCBC9AAA7A0272BAB9BAABB9BB271097BB5B73A88A030060885954B8BB57000040969999ABAB040060999899CBBCCB0440878988CAABCA160060896878CBCC2700308788DBDDDEAC26006277DBDCDDDDCC061075EBDEDDDDCD6C0100ECDDDDDCBCCC0400DCEEAD94ABDC2A000172CB86BBB9BC040140CACCBCBBBB2A0100A5CCACA8AABB280060BBBBAABABABB150095ABAAABAACB7D0050B9AAAB9ADBBD0350BAABBB99DBAD030051A9AA88CBDCCE0400968988DBDCEE2700948988DBDEDD4500829987ECDBCDBB26207766ECDFCDDD69040010DAEECDEE9C15000092CBDDDCAC38000081CB9DCACDAB04000173CB8CCBCB4C000200A6DCCCCC2A00050094DCDDCD6C026A0093DCDDDDAC9AEC2800B5DCCDABCBDB8E0150CABBBABBDBAD0200A5BA9ABACBCD160170A9BBBBCBEDDE5C7068A9AADCDDDC6D310595AADBEDDD8D02007088DCEEDEDE280060A9ECEFDEDCBD043087A4EDCCDDBC06308751CBCDDDBC6C017401B8DCDDBACC061001B6CCEDCDDD4B003A60CADDCCCCAB06BC0393CBCDCCAB3BCC1650BACCBB9B3AB95B10A7CCABAC69CA6B001197BABBBBDBBC050095BBA9BBDBEE6D0050B9CBBBCBDD9D020093AABACBDCDD4B004097A9CBDDEEAE04407697CADDEECD1610869913C8DDCC4B00868815C8DCEDCD05407552BADCDDCC5B00300295A7CCCCCB0620041075CBCCCB2A203A0051CABDAB1900DC1582DCDDDD5D00EB4A00C8DDBACC07DB9E0121C9BACC7CDBDD160094BBBB9BB8CC270071BABBAAA4CB7C0260AABBAADBDDED6D71AABBB9CBEEDD6E012386A9CBEEDDBD05256187DCEECDDD18006288C7DEDDCD29007078A2DCCDCD6A01508751CBCCDDBD16004002B8BC9BA9AC042002A6A7DBDDDD2A003AA5DDDDDDCD3B005B50DBDEC9CC9D025B0061DBCDCCCC178A0140CACCBCAC29DB3960CBBCBB9A16DA9F31CACCDCBB8ADBCD03A5BBBABBCCCAED1740CABBBBDBDBEE8E02B7CB36B9DBEEDD2931B8AAB9DBDDDD5D0070AACBDCDDCD6D0120A7AACBDECDAC04209788B4BCCCDC5D00829931A9DC9A170040860150BA9C160040970200B8DDBD0370790200B8DCCC052004890170BBCC6C0100DB2750CADDDC0600CB6C50DBCDCC2A00791430BACCCC3C00595310B9BCCC4B007A8505B6CCCC4B00DB7A0400B5BB4701DBBD0300709A3403DBED160000345502C8ED9E020051A904C8CACD040064CA29CA6A55030011B56C58442300001082AD338736000020A48E1482370000009417DF030110314670662180008100820483138407853D86038701880289028A038B338C088D008E028F0390009154921B930094079500961F9704982899009A0E9B009C009D459E009F00A003A103A200A300A400A500A600A70AA803A900AA00AB00AC00AD00AE00AF00B000B100B200B300B400B500B600B700B800B900BA26BB27 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 32 32 0 80008100820483138407853D86038701880289028A338B338C0F8D048E238F07 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 32 32 0 9000911C9208930094079500961F9704982899009A0B9B009C009D099E539F6B +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 4 4 0 80008100 +USBDEVFS_REAPURBNDELAY 0 3 2 0 0 2 2 0 8104 diff --git a/tests/aes3500/capture.png b/tests/aes3500/capture.png new file mode 100644 index 0000000..cf37c90 --- /dev/null +++ b/tests/aes3500/capture.png @@ -0,0 +1,273 @@ +PNG + + IHDR?1bKGD IDATxɏuL5<5WWwUl6)R%rb$Hda8,xdc YĀE.I)[ykzwv Y 3}Ó^/----///--5rfŅ1Nd8{^׿ojGd8N.fy.~퓓h'FQFw}?˅aX.fyμvǓf:N&tDZoVmll,//70 ) +sqr8ν7lx?n...zO_}ѣG纏p;O&~EQ.ٝrh4666ݴׁ~<::/lpqq7|gۃ ÕJI繮,nEbwwwooo49a$^/I|>EMMX,f2qFt: ^8h4zir\׋b{:t:Ai:N$WmBPL&dpBhQrl6 :Fl6P8c>Gm8bR)!*g2\(X~?4e }gw4垈DTq}}t~|RǞ,^tY5Ch|>SR*'gq6S[@?>>t:Z0&à#?!*CGQzWTX1_Gn}Xv%Jf-1 p8X68PeY,Dǣxժ'''Xz71.:in{sss}}}{{.dc$ldZV@`aLY;9sϞ=j^Onooo///Y{OGL&$I|/Bnoo1+``0f?u`}44L& I0 3tlg  7W*_G*L&3N///= vϻ.Εo\8=. +r64޳ɸ{Egu]E\,~$777Ǽax9^^^v] +Ł`0zQ +'?d2T*ITVq6!~?IJr9E)=@y\^^nmmy`wwwkkk{{E$gKRX^^`2^_>/ϒ5ND)HvSѵZ^Zb8NpxO: Iu||+r(]Bs|{GljfroiMSٟdfe5KKKg}m6O.//www_|neal;p{{KXA% 39RX.=Cg+}Bj􏎎L&s CG??+ι\nuummmqEaGѝ0 ZB$;;;:z |Z- +>ӉWV y-tv6ppr> ݟNLfqqZDVE`0–t:&Iss3qx":G Q5KW#$D$IIe‚P1IpZWl6ÚípXFWEt<ܳf3NϨQ$Ẅawvv}J[$rn$HǑfKH hB. *($!r R_gwqA3p8<88U! $h7q-aP5'}?σ<8`rjl X3B>qVz}Șjl9|֊u0 98]8i(a5Z_ y+( +8ì dL}+̑0yex<M 6pPw#x<] '#ea.//eba:A ڗ g2H/3؞Ç[bV47 _?6(5WA ԅl.vA7r|kdh8m  X$b"qFߗJ%b>Xy+3L (JnZ +OӃnp'#`;%Al {{{4PQ@J+t}: E~ $@fQ|iނʍc\/B@xR+IX,ޖJ5EQbm>Α$}8gxjEj\._^^J~.77>"&=2f2Pa"Cxѱ7 tAPVkP\9T^R_drtt_駧dME_Zd2f3 C <(v n l.mqqq}}.28xr*\C%MΓhض\%:2Xё. ~As8IzB`ñN 5F lDqE^BaX՚‚8'''43l6ج[TRT,܅q)_,`2t]fpx$a*AaCx6m;”#!8na4(4M |V#K#z!J K V DV(%_ẋ#W'R^^F*s fV$l~Vz+>a2\^^&IR YS{q9B+.PyIWΰ>_Egn9Ch9rUY$ivX^^.d2ٹ0`[߀0)8`0i7ͅek8$h_s' CLav0M`;(!6I .&Zqt3N湠y%<T`\ϲx"} CB7$ES0V HcyyT*)9j6.>|4\Q$f?AY>Y6BPw MJj\H,y[y +'SVu_PJw9@ݣp8L<2Px!DfAuA7򬸏4 0r`8iLUXQ-,,T*nK̓F3:JWTf ^$9Ax<>;;,[I[Ka]9 Q v !y֊Bd/"E@cCRT +SE=)0 D(^\.PՀB +!cZ j-<(+|ފq;gKx68O @n+)'>#FVrh`GF#UƁv~~~ppwvvv(RU\qѻ:); =|W+{jO +DZ`RA$>Xj>裕*$ֺf•V9 Mwloo DcGD%t:ggg9Ȕ c8wn6ﮬUKliWBtg9EF׎U0xÕ:9tj)\^(tB~tt'?vf۩D I|j%IR.4B\__+ZHbj8ߓrooP&(MSZvR@1Rd[;;W +;}_ +KFCmt2n˛ОkʈvGyWWWz +R: +T5?Pl"6#n`Psss_T3/g T`-(v +z TSO@8z?s^d͛7?mShkDws"|*(^\ZZ±jQ;766JZR+ꛂ qPNT "bbkܞ8'Hg+*p,h4:,PZ6oTwM&w%X=D|~aa5^ \ynB#8豩Zb(x2 D^`r7[?5e޹ZbZ [ΘaV(V陬( y]CȄ8B2 l\__^{'0CIc0kIQE/I+a)jԔ4M9EU0e+{ +{_!ؼs NN $S昰 DSvj䤕ܓZ5I$IF~ҢJ;U -wARl6$Q-L9 ڡ<ہ*?IGs:AQ*@YNqyyя~(RKWWWr݄@["yZ^onn6Mr]t_"E/NOOONN>r/nd8B(}mkÕvV*d B&p8H71QGJarKb^%xxT: +鳳34Tfl~JjK]"S/@,(#>D{> +}=VRVc.` v[1$<1f977777WI7Q& :55H0Bvŋ'''N +B\dщ1C+6$"W]+H|}D1{ڎ=#aǩpx<$G Jtpij83<@ C!<&;DH9b$DIрc8jm<ԒRuѠ<礪N ǍF*F>Q!?;SssREN#.kcd)\ֶ,)%xyܲx{vvrP-Ab:g z=lt"S `y3QGb:r἞Q~I< + $B5ޞt2S6} pqԪx蘌iyy^јG%La )l^^y^)/8EvIlPTU$2\.'lyaC# YbMW^! MG 1aƦl6vwwonn;bӚVmNPFbؑ' |- pJ-)M8m=18;>4 + IDATx@&%5ؿ +nr>6VVgP/ v;NRo%MVWWOL!5]$ՄBt v1 ٌ`٠ +4=M"%"rmmˀζ?rtt~ cf(VkXd myt$$5/hc&y whV` ]ҷ + z˫ ^onn V(d$iJ*5Mx"JhooR 5ϓϱ#s[rp8Y+DP`t So7.OjU&$DZp8èSr`Mc"~'P(~G\ŋJ'i td<0) cyy͛7;;;^Oi>_\\|J1_ʃ7 ꫯ+(VpK:N\&FClUcD/"uyyq+xQab\׽-B1*Gx<١u +=S[wv-Wڲ]\}DZ״@6 D昶b4؃bP8\JL1]~Eon_ٻU~RhF}CQTy睇.//"=T(C)> i#!w`dLZx>X:~ +WO gZ{Bk +( +jR ze\xzFh ^ n "$cq9ySi +lք+k +8Px&nLbm3g A R A/1k"ߢ˫o$ +joo kwed2˝h}}766Ȁ~Ga|k +-1׳S ;77f??zc1;ܠAlC)~ԼVyrrr||5Im8E*l# ; f?^ZZz|aanьN0"\QJ +___g2G-.."`L"c6N]L ;1n뺐9((GDE8nC3"[8S*p +z <9JH BZSX@tjp]wkk +Dph1]ͥ #uA677=U &I!wh:&L%84^1Z?8{8ro}[ +ܜ`FcLJE*G\.onnR8ӟWVV@m3C($'sRhv| Tm$:`pVO%`nN`_}OcrL +AP| \Dɤ&*`J!9sb&AHvb(o@"0MRuj/ӂzF͙ wttK6Ǐ/..re,n%4|>@2qxתt؄l6KK[E%(v_z幹9}~~0B-oKmEEqn,c'$SSI.qqquuuqqq~~>n6k f-Gz[|fneP?V`G;nOQnjih>Z0g +/ؔ% *ny0X\v{lqy"/zuuƮ Z|ErJ_ +"6HMkU9CmB 4"JBQk.ؙJ9'xw666VWW]׵unpL4M|b?r Lv7(<̅c*B܍gAD#gFxD.gJ[[LVطfN,Cjjե}$4DC3-@2n\q}=bquuUEEmVkuu$q$hae"`d}tQl1N>Wgեz4=(P;ַvvvȞ,--e2 ]dkIP# /48Q *d( &sR<51fUJ+z!"~nf3U} AŢgCdQY3Ї5z8!JPF~K` E`5mv;HT@H\#edl6@ D\l{dnVCьc8vzfٙU#֋0lZ|`Fq 4`I ?cJ7VVVVWW=;99/_x_z/MRcΌ( +C>6j&RO&:y9w71yKN˽`$n +cX=E3YTޭUpLY/kx/[Ss6X<(4 LcroM*Uf +ׅ=suuu6}WgggIP鬽VH>VŹ{%f8`(PR!V=QJ.-k:Of21Ivydaa$ogSS$AytJ`Y2|tH?zۘFe~ +ǝX}5'bSӭƒQ~zA1g,:  h*WTyvƌN4t777Ng2ഈrКxB"%G.//_|tGLM_#jHXyx#CǤS]S[~RXYZN|i1f;*3s(Q3f| ^&H(>@Xruu5^\\! t:ަ41Sӎ%k5 H=TUE@8WZ-I  {&oꛊ%\|N̘H~A57kqPސxU*@  +RzvRG _".fƳ^[5c~Z;??_|ITJxr(?8Ui hKR?1 x<3 wsaa/igC|S-P(<~V.Z$SSKT:8cfJ ( {&FÉA2AEA}$'ԕ y `2ѻC+q@3}tU̔J)kZ +LY69inZ+2>iYVYL& +؎P`z⻦ )l~~~qq1͒obv+pbHGvB7cƧq )rxaaԾ@b/x?&:5W/?U>%s6(ؼ|>YTg48$I/ V1qLv<&nF`QW3w5SŮd2jJ'{pynf) iqϐqA|L}&1zd^chP<_ʩԐYd$pG #(Sǚ n% ڮL}FsD6Veg0&8|5kjz<}T*i8`  +}gzf=AZ$IZYL0QSkGߎRSp8$5} +6G>RD'=˒`:ATzqT"䚮Ѿ!;rrǭɃ8C1JeߞM&F+o6:QREQV +S^++}o`4A4vxK "aBNC8s }KLp!񭭭0 ֚& qؠbT*[ +q`prrBzyy$UFccccG׀)M4g|S~jOT)qy) ^)o4Ț2WV Jl;^}9t7a)=aO*N' {Nj&f&*=l@.f=MSgH FQ_Flj&RN*:DTs&b|t' + 9o!!r3b b$ĸ"R̃y~R:K 8lPX6ԡ@x "O F"B%n믿i;@lj4Ma(ywssÏ \Ȑjdo޼ iR?|@Q#倜yjENAt$y XO&N5}ڲV[ 1@J8(T|GzfBNj133|C2Fca阩D%IS;E8!\ѥTM];2T|e lMf8 6N NP}s!YS{8b4/Ph~Ģ^ґX*}f3'g x(5c+X8Nd0)r?>::b2xbkkkwwf0p~.55MI )yv]w}}-뺣ш.h4$W7Ԛ)nqcF/c-Yw)n4J0+ٳV($ pբKT?ddF38b?΂ Bxee]oU^ܿidcЉ2 +[(gH$ZNŠlah"6 Rzpɪ(,{/䰳TQ?~{\(`_GgxAeDQA&f&/~_k827`32 K_ NOO>쁌ϔ(:$DZ + P K ,gq`s(nr>U< r7˵8]+++@fx:EvY%6!%+<44NcZn>NoooK F#teeSMmMӛ95qHm^30.LX$-0 S^zLs`$fBMeC!0V`=XO]\\'J'OiJ.oM1!fIEѾ-Ȇ#3{SY !ǔ,gn_lKÂ]Ʀ>}f:p%>P|1i4ϟ?{\~Դ vhrwGhl Oğ~yXvHue@߾33|{"ElW$;;;}j. :3q.4~t< =SZ=kxt:% YEEvbphes7퐩p$?v+KRV$q9AB6ԨP(@?AU ą X+w-]b]' q=sp(Pr%QDV +w,khMDJAݶ|*J/X +x{{VMSKKK~Vi3\ + t:2W 5%tAƐл{l1gϞ..6C|S=hN&xS-sl\U d&ʹIl6 `8|pyy s:"ݣшĔ5PN*˓Ʉ +pH1Ǐ?~w}wqqq:ңa4 a$>f VWLn"E!S`z^pIB~ڊF»TT0ebyVQ_`/* c8><<{ճc2닋ϟ?o4UEɳf:r;aJ>yf.x<ΡgL~1.:):<<<88p̊Ţ*X`j*הR"+k"!Gx;$I\;?L6@+RKpɘJ،74K29ydgggooL׮^^,64S87ŌB֓A򦥡s8N|h~P^ +34 Gߚ%Q;YgҽEv EݳJ,#z{W.+i5V+< <1 0Mfb?qpfC$1ՠ'l>IbfM[Nc5B ?k%"7cq vsHq"z)3̄yf_|7ߴm̨Lev=ļձ7;p5+iьTz=XCFI +zf3SA#39SґlVPccVB3($DHq[$9{դ@: +R F~@Eh4j6@Q6=#67&Pci +V,&<aZj9gm[Dđ4cP`l8^]]lmmQA t0WWWcӪ=DoeL`61'bDV RN$@juL؋J*9N$ ш Mt}9z!r| ;}L jPr3sƫ4M|dp.n,RBjqqADZ|O) BLgox_+++sssrn۪MS)2"3ғ^]YYyaކ.{ׯ_XZZ|I\}nl"brlvI ZV(FcBǕO>Dyʜ<77E +df;lZ}y n򚄋 KʨPMn$O|uu?41b8mq`FF잀;뫫AxZ'YS YsQ=xT8ӭVѣG*?e'3 ió^'p}FML]`%:Q՝62dNzЊ qե7sv味nRiZi£$bͱ9~$h)ᣈ渼h%{fFX W{ʿyə)3K3R\) 9 88BZ-}@9*!z&Ȳ7T3RȃG瘨="ʩP(Xϼ8Hhd0ؘgʕ0#,y4-V@Aу과\Q> 6, !O$Y__nQQžaʚyHUB{r_Mcjeʬ LA '҅hB ^Ӽ! )Zʙabŋǚv=p ӕܭy3! CUX_$cfEwkIA'`*\MfX@BbSӭ-ЗŜA*Lsss'|^~K/..hvV#%ŅDpVv S5SC ͈b!J HJD,0<%q{ id +D~RSSН.͢tZT?+hEi1;F"I!ͪ'ܹ}vʺgPM͐_W"*%yt:n81E^kdȥX!RE"@FqCv#kUn&79==MpDґ#v>󟟜|W_}իWH뜜PIpzzg (ZކR@ˤ]3 K%nФ~@Ma W6 PBzQDQ Ev]%)iwUƏfJ@QKZ>z!Vdrs, +q|>O!\CbVqhXZ5z_LSd8ŒJ+FA z gӑUݚb;DI((Y*5zj`Jc_/gC tssLtԡ'Fr'4tcH:SLyfm2AP!8-b|浐LAfU$KP̀\̥+9]îUG&x<. +P&iL)|b_b+t9 }/_WLpf^jraayb&|AlY^"a_ &z^{>EIPn.9䌳,\lmm}7(8!/I\}7nPyX=STRb@ "L3gOVkfcj*Peiݒu9PˊuP9Nz+fpgg(p-L">/:BN|\&owSaVq9' vbkk {dffj딞IW* ݥ%MMW"!͠zm{_z>0?|&(2ڬ-HI[!Ba~~?r'x(=: 0mmm tLJqAԩTit광7sbm`8wK^辯 8`T~}jZ;&+̎{il&PPut +#Lj(UG/1}4΁R8"xxځv.#ʈż.,,dNe{d h43q޼y.>Ԗ\^^zٳerDo}HN>cUU=G/A!pz? ~D#^iFtzxcҤigs{ `<~֚_$7y"g1 rY*3tB033s3M\!\8^ +t I8>Z&g&a9GQ= +` 웚4501 2 f< UW혌m֚'@>f[ۣ3tBeUEj; ^zuyy(E^.PܔJ>HOlyAي) \ץՕZߡ˿UҔsssO>Ŗf3AFfh&#"wعaa5|Q +MߊLmZǶR#"r?3kh8r:8F# YJ$L)Zc$0jÇaR2BfL6x"MUݺ9{X{oX8!C=DONNH`Șu:ՒdPpbb;uis0mOpbb"ABM!a*4.: (swa4 Q!Rqbb###Z ЋN i(E8*6{uu5 CI֑ ;"+1հ _eش@[\OO_I{zzvvv4uqpy +KsiiG ^~yT*5666őTH&gMT*7Ay&A,x3uJvww667h9ѯ9)Jkkkpߎ 1 /KA+ӝsTC덍 2*Gi4\wpp0kja ι/ +޷C<`u&> "ٰ0Àb&}ĶDn `#1M{||Ͼ~{ ZĨQaX@uff[DMe +mDqBO.ਊ}||rtt#,,,a H@h4Oή 3b08ڙ۳m'888xޞAι|>5BjAXPwhfܘye +%1k)?Nƣ5FXUA>":g UC2FVk"شTmƌ7 Q`Q]%PU_2ᩋ&={Q%^y\`z۷ggg>*' zD2l2IW0pzn$?`a~@UwFkZKKKG\Ź IDAT3b||11O`[tO>05v(ký"dDo|{Ԕ:}6fIxͭ-t1P]a('<熘@@ ԁٖ> 89z1I +GI[Q.Sp)$MH@P1e!%Y +Q_g[ +0(:švvvẉ>wrrÇdYzMqjƏD蟝J B΀/r{{[y#)Dq/^zGGGGGGSY!l(HTr񞞞Lld}}}/pbjyǗrԞ|!ܩTj~~E/ \+ Ðz"DWFcbƭWTZ=/CI Ƈ*uURڈκ)yTO㞂*32<0X,FhstQ"*O͓v||͛lȹ9rz7kbHw/,I)hwu +yyy)T>65Aez?C|ໞ`@NA%9;Ơ +@dȣv l\쟳V7NNN2HrXkW?jZ2q |iOivdsso,gTjM$C^zx*u;$ A UR: MT~3F~oV9(pdVR)-@c1z8:,RիrzZZd29>>QqFg +D BgOp̛OBdh4T&#^"Ė(ʹL/#O0ȏ=D^f4Y&uWAp. (:TRuM:<<<<< +]O9'.i +37N mB3 l^Pbv\sBu].aE}s>e,mmmz6nOZ6PɉvH1UoFb,hdp=ӷ'Wᇼ4`v? Uxh:}^(Qg>jp{sLFr`X,¦S f.+ءj/)!A-t%8IJ n nJt:}jjyWamSTEbɺw(&(* h + ׬&[Zot6E@C#ŬTfioId\#?0М!zvTy*sl݅EQ +Ǐ3O# F Ļ8R<%<]=nhuzww\.S5 ~w:|Fə!;gi'۠a +{h6''';;;ɌhttQ+ +tvxFQ(vwwYXw*#,>uAs2iFQ G,m9:da@<w,ރ^BX=%t& +=?Ӏ%Isc_:EҊ6%d4ϔLGք@|J`yTc}靲 666)Q#abuMr]g^KEyZZ6Ç<d|NE@dt(T߭)s)XҌ?V!O¤k<H///߽{.yZ\.\^,Eg"9M!4 " ODKӘ7 +6uffs{{{``z\OOh&Y2ovq{cppӧdbO,2b'|B"3&ףׯ_2Ҹlr:j;;;RIXYdlz.n{BaI<bLOP-߽{h4tF0׃-] +VDtqXigդL^y,y1Ik^B aFO?Ca> +H%v _Z-Jbqgg' CT1" &wIp +b$w?7,;bӃM`zhx|dddffB:?0S&.~ll Mf}cdzi%E"1>>NFfuzzZ,Y'GGGdg5с:@Pzh4wf.9&S:sNWC²{QL&Yj(x!mnnQYhh#f{kqv*Nh$hqnCpd&m"SR˝ɉ<2A:gVwal0fVw +Dw p`N }su3<԰Ȇ$S }:77{ } #IR}}}V]L&iC˺T*MO5dxxxfffii~õ5etuQ&bW}<y 0j*m0|>?>>>;;877ҫW}wwW;bQ\T[__ŋ|>ϋr`AUyUF!qtVVV:6G.--=x~rZE[!e]iomDhd?ڜ'@4|zVŋx9`d2 L&fcAlnnu2{1* #)qMp^4 DQK|ľ*z钔f(Rr$*r=* +,X(qgN%m{{Hlnn8'3f +x 6[Xl6 \; -,DR)Yhd;[Ա2FEtdE  |$?j@ٺ\6UTZ5(S6 +\.zkZC kϿw^1$Iy4u\ +DC:Nc`E.N$ FyS1G7V4G:[֣G +v BoC!%X:3lC/tTՉ G{Ul`:* ӗ%buPS@IU-chDpT>.?7==pzzZ!l6?2r``*X(u;h]6%{"G6_ Ҳr\beMrvvoMWt:===n__bԑ͘qVf H$ S,}^) +~i>2G6Sn/;1o$n Jc,mw[փx\b+J´t Kg~<*~ެ_]D{{{O CPMJ 3' +ϰ⋬Tmf({ONNxbrrRۏWJqyy3uQ[i$:0&[4nKOOO׿(yT`JXT57HϞ={ ЪX7nڦ~smMJUz T'4!0rGUSI(`ob&-oQ~wStpt(xj5ѥ˔]\7N::{ۿ/ЛV/HpҕP+NS"('OR!]d|(ny# Y?_aggh|Z MP p9I (q.tvvvrr2Le`2)uΝP䋢А ffYi糃GFFh4Tr*i+? *Π +1Ä' 60SW.Bh^Dz鶉/(Pfcb_&v= ( +%}DE:3UApr(7FEnE𐉼qAAhvV2f?l6F*6=ZigϞ&JjRկxT} I"?̅t3<`fhLRKa Jy}XDlvjj P1oTPЂHWy{"gL2m=hx,nQqZUCcvW`0yc(QtX2HS=bmښ?*4su뮊p*SDso-9ϰ##*Kx<>66/Hf4eZ&$?3.L$200կ~Nef6L&C`_`$)VhuUPF9xN hgFHz6κ@)U! i>99]Sԩ$ ˇ}嗻k 6X{{{J[ű1;y#49ڦn?v 0,bp-A5 (ć588*XC6T*l6 gi8r=[#[s<0<~I&/L;|,[롡'Otx1<< "{) \zRMM&Dwwe x]6D\ QQ_;T*OJ3+D/wwwKK39<<6!3 wz%2B|^š RwK:H yo}zzč2BF|4[BHÛGf gsX Ș[Xldd$U*Tfgg)nC^!ȥx `b7`?~Ls0R7j:Ӳ5]^S)ڔ!Lx• c I-駟%#966666)Gؙ>u?JϷ+LZg$Xi^v~ձ1M931L;99I$=^8KM).ZtSg& P٨m"6]EN5>N?{lzzZ5 (2:CU}:!L О*]IwչlR@0C;ts +5'Fl4{ooQtޤDLwr`bnQ bDkaCCݡ. 0r/WVVcq<Y&j5Z߮Rs 1E?~o~]VE69 Jd%٩CD6'UU0(r]kmZQcCXȝMDRv+~\.'l3]2{uu%]ZYm3`>&{ |$tQPa999yss%(M,s 񥥥 Pݰ.z2^~82:]8fmpޜ ;‹ j0jVkFŐɁ`!Sh7fsvM $%NU,+ +pNRUm =L"Y\kȑUH0/^wqq3҆) 8XٜDYgyX|5 5b v/&VR8_u |YqDfrRƁ؈5ї@ʆPK&T#o6#fs:K"o6@U5ċ `ݐW[6t50}"862m@b6ϘP8PpM8<<cCw*u^KKm$O$|qqqgc,9J*2hhѣЛZ7,A#fOLL|]__QuD֘5Vkzz?)+1xY9>mjFGG?om&cSҎzjrTXxvǶ ð^kv WĬd +I LYyh,@ +.JN<5< 8Xb&S⹼".4%I@@gĴM;W+Y%M{jjT$09A^XdJoi79@00h3#2rR8==W^CCC 0d>2iv ‹/1gmBN!4ڞ>;BOP cnnFonn|&AV3 ˺흝e\l plPG6Bb`@‡A< JZL5C`j;;;xE{1o%kubGQar~!0|R7fקYT$,ɤaHd,<z\ +M~,Hg˦Y,wyy 0+s(<3Qri=zNH#?==mXrF +;/C2%Ujl70V4 ^Mb>C94&㚏{{{2w \ <;JXd3`}[*FQ400@SZHh4h+@ȫh4m +M@]q!#c8焐4Mݺljz4e H$UiV bQEw[sTjlllaaRYk\.޽{G~a| ]C݆Im0Dnތa.^J~΢ +pff n6cL̊m6u  gT*aɓAMd2ž={֙?QXg:]?0a66: rhZ7 IDATNkF[AJ'>ZdDfT*h4NOO[x +KQ-۱XZ*`D"n +hPۄ sQ -{g R4.X~+QXRLCWui:\r\u ĂAЍ̋E6YZ[1Lm͛7 Xm+ |>5t:M< wvv'?̌I&H=nnnݤ JKKKp痗t"kO!#,k`杧)9N@522Bi:َxj: ii`]B|̦v1Wirn>WcR&uJ%, fODK,VLh:< E!;m||?S:fCJw޽{VU'8$ To,4YI <y#@:HcccwYoaJ3m)333?}+aS+Qe(7;;<<r)vB_vT5XiA:dc'(9F "f9"GQD%|uu]Npv 6NhavɜX0$b*Tyu MRR\Qگ4Q|6"UQ`"8sT*˝PSm{zJr]ّ=$3Л KG#׉o37B1)LH>* +ݞ$Sd2tnmmIt +G2'T*E [zĝihkBsݻwi}'|izrrnm_$2jB/ +j5H.V(ě7o8??5yȲ&,ndTNNNUQy0~@t'Cwaw[d"q~~T*t)3-*jr d~DXSa7-[^^ڜsܑX)$\.' |E[qE;Riii_R@J'V-LIύ4PXιkt}}(˥R jM(V%M}zzA>G6mXbxțtb-!匠ְ]4.Afonn˜ {!Z..."[ j\0K؝87)|?nBN(,--ii}|=Z7odRZlQ>=F-t855DͯX,k-6M;myy=C!mJ +G?hU*aٰtrӤ3+*P+"oN'o*cfYJKrER60Ft(GQQ`G̓P%@]__?88P"F(J쀅uKloo}"Dwi𾧦~Nᨘ1/՘JC26ՋͪކBҲIa~8u*GGGMSg +k;'+9|PΐJZh8 lExS[#|[PƆ+I] ހ2АZ4۫+ &C7us$Kb///OOO. uXȆ8( +l{*@mY===j+ +C "A\drj^`_#gt|V*:ŔXvl3iNh4(UvϤ1AsAժ6,W^xPRb1ZCSh<88OOO1 HT%C?&2!&.HZ(E؇1sΕJ/_el?~TR6z H82C nW[">Kt:=11qxxXha}ooo՚ǦoZ@LĬ^__'s @1=Bs51fBnGÊumd2˻ V3}U&x `fL `}}=މ1:1/fCacoP7'jݪJe26ę(::"7-0M>)kf]Мu*KL;hL5;`Χcd8.3n&y WӚQ15Qނ<6D Tcȟ򙾾#SZWWWbqkkX,sr座7*,lgdd+'ORmD'''kkk333&'!^ 6o\NX>RL`JX͸ ƦwIsnw{Q8Sڤ׃#ꀜT) "Pg6E$RLR] MĎ{<}4H\ԁLH࠻W5i#!UmZ^bL*<9[4rCo'9!hqO4IdԜᣧ蟮{.'#t׏tcPaWgCbv.=O#oWHF7ؐCڎBwYƍFLzF\.}0E2u'lNj*ry"qfMONN2 v:x٥ӽ=be?cmnnŔ rsss<4-f. .ttVpSL~~7oޤit+Hm&wΥL]il:m6{{{m6_ +A\(Dk[Wm1S4^Ľt:wB-HrY!5 㝛Ej¤rP/Xfk s:<3M! g @ V$(LNyz-pWʠXupooÇ:RMӍF˗(txdq$ɐ +HZl`hZ`s\E'J}a~༹t|nCMSqZl':eW{}Ni%d> +Ǵ4 ( +CJi lB&"'z||lZ,pΑVMOOA!WNLLFDf!ET +I|[&1`B$HKsd3ϋ]rd&RI\.GMoRl2*n#B\.W(+׿s >TXGFF +B"ں%J$n„`~"%KA<؟h4(!+ڂJE\w`\R;ux<3E{{{i11r}{{{_}vd6ǷlrFQ dڎZ׼qs" 2ںcN8)F6Z%m>;AҎ{ڝ7A+y "Eh3߼^ϖ%M&y__,..e9Ud XDp(l?nPv$ +ЉW=cC!>#>_W& C$āex?|Z__@| NQ,5 +rDRuZQ7·}eLVѠ.iҙ2%juppc +_f}tBo1exAPThcߩZ"gB4g5謸Sx?>55%nwwW :!@36{" +E%D/M8H`8α* l6a$7'\ޞk%>ۄ+!DD( 766(vV|DB{C{{{flѥHZ30Znmmu}?gu` ӲSuXrQK@ۗb񜝝mEFAPa qDQ⋹ao岟7+F>lzc UDIB%QdGmyI>Z_^^mΛOc8C޽{744ѣw2m`jjQ鱂ba\)k388877ٳD"H$`=FV߭KKKrlyuM<󵵵>l||\6 j@:v\\\\\\Rz}6})JJ@a\ll6y%R:ԽVR5j]{{{yxcjBSG+'O0S/ju']/?VBܦ㯺Q+'2Q&sT𺧧+++T +ٵ-z UD!MF۫; lv9# dqTjƳwֽiz&''xb||ݻwxΪTLkCV-//ommu :qlV/...Vׯ_JrnXVKW_}J>}J:(dMtGrVf/~UWs=?"ǣ zt׾rYUQW?X`~apVޕBMJXZ mgȘJpxx_vq/Df~wRۛ!>`Bl9  Ki9B=8::T**.M&ggg/_{w⛜ td hQ ΎP/k.SLM8Vsvv# >o*PYq|$MEY[|&s;;;#Tl6Q6]-J(l6<88AP(mEMiuݥ~is+ +A:͕J%J=!~I +$B2==Cf[͘ pCtwqS{v+O###WWWr0:&R(^Y@FԐfpSYw͐bbe(@a}\̳JRCTB|\gXd8 J[ȏ}P(p@Tm(+ƛLEB9eQ|%Z6V u*j 7?xoo=u;vwwg}}EDCJ\Spg&@ +*gt#SոL -*zh >|AC1T!${]4/49pO2 jιc05f]m7ZMm ~pp0"FFF`MSy>D?1l4!T*E%yH y*˚ ^u܆ F [cILLL<{ӧߍhx:emggg[mY"CCCd]X܁Gcm`8}h?11!Y.M7=d@DDuÇԿ4}Z|rjuu\.S?#fOMMCCM'=ўlgnnz2tvv6:: +~UxR777ѫLڈl)zC7'''_~y󬁞ntzy|x!(R1z^j(wvvp Ya.--ZbȬY@#+t ŜS9qTr#7Xْ oǏ!jp44/k!겘jed\6 mÇ8km!Gg[ ${ijjMfelj@mgggd}r]aPb?ekɤ*Eʵ5I S]"IQ '6SdLNN՜{&T*E͕RHVPb 3A=ŮuJӜٳg[[[L-JrMqTdT +;hbbT*%IİdWzvvv677))d<-O<cXzeUT6& +CMTjz|g;:߾}H$FGG5l!LnvggKTY N955Eugɹz,{2L&#PlB&%x<|T*FĎ`_x߯r DZ=>>DH$B!à;00xt!uYNRsT*RētоT* ~DDQԡBX*&I'[z +Π$ wqpM)ngUIa=˥e:XIQ"r2v}ee6E"b6+o؄"stYApg-kE-ɥi~|#"W+[p ST*o޼988OOOê +vcxptpÄ UFHI ?[eR)dGWT{ LP8::EP lsod4n*,GP$>ޖLԏnTaQU%0#y * +TOj@ SX,nnnNLLth1.\?bo#Be4[T$$LL(LL96iMsF3wIS;==FFɵ 2)N8g/"'۹Z^^V_Wyl\-zw>_?+$4M^]]x;-k}O57|C hZI~tpy^B섵5#,ߌMpIӔ 2sN=Azd&y䉏cۦ,8O~ePYK]ZuO=Sª+ +Mb\&iz i +;ţ(>}J3dEHT0=MG;ؔ;DuQJxu~^ATfgpΡ62I6cN$zrdԆ16xMprrKE DQGBf}n#{II5gD߱Ewށ$ O>LR">TQT*t3B찦7ė6P (-DSdrE f 믿V uJQߊ;1|+MCZV>hmʜTtIr0N(),Z&Trݺ|B=U| i! =ix3H1OGaOQ]mS#ݕ~fqL3H(:^?YĖM&ڟVNEGOկ^9@9qb`8ZX,2_Rx~;jZ Qۆ·.Ys=":֮A)q~ޤIΉx<b DB.!G*lUgC0wc CQuA4113P[^`7t-D@Mܞ&'>0 A{Amj(tzoo +*JfJ˗vCcq&/]ޞX-ojww7ua}~X}^ H333 w B;fV`n꫗/_R4Z-aTn Bvj+ AM\-/A}}}B 5J(2U䯑aQh| nA!|,p(*cyɟ:{2![EMCG#U/h?,ǃx#>;;˄(}DRq=n} hgg'˅aK?1/..VVVR 01z8GGG~h4׍1ʦrnKXŠs(%m&oRh'LQA/@`=NUSVϝ%- + Za/ +LF:6]o0 + N Q3w ~hb vgJ͝F(6a +v um]j +cy||+9>>fVBprr L&ϱ(qFL&ΊQUd˙6@Z.Sޜ(+x1BBMO } 7jD;P~@{C\&akA6VyzzvVWfuvm Ab#XEqVY&< ZyL/l Ƙ'`mH %n3! +V#M: 'a; *#o\ DVuqqT/1HuH`ni6@J$/it`tIڳC3RR_Rzp%ZK]fg2>lrrRuBE1ٌץ/hðREm)R9BXTd흝/Xl:5aQ4(jPkA)b:mP*PU*///z JGsώÿۿeR`mllN(Z7ɼx񂝚H$={˭-L&` [,鋨p==ӅD]*LCSue2Vz( +L8B\1ʎރ9ӡ_|QseSuo=x{WVVB'":` !QVMw#E ]8.(~#r,P T0dynIQHlI^9;;Ji l|]z3 <X[[kZEf;b9Njm%H%&_ xXRd%Q@ L&'LOO0Vɺfd"{777׺^؝L [ι3Q|xsIR裏 BhmE}.J9k 8,J LX j4q_"Cf~'gjj +a+-p& ܌;e4o:nm\'gCohhEJRnxH:ϣdž5doU;.9HWWW( !%X,Q4@+kׯ_mּ,wwwcݻrrKݏ۷Lj3#"%1o*ǀ90O +=^4X75hޮC*Ri4x}*֖߮ŧ'ģ?y͛7Cd>Ro6==-B ">-jL4mEtc`PXKRgJκ|M2Zi{]TJ)BcP )u""RTm\@FdaJV°x񟕿I6,{zzjL@r*_3z˵ bZ-˴ ݦH\XDZ;Q֛&l14c>4CxKrYvp;BA~FGkHuZR]s,14I\4jwwn/La|)9::*Zi%%l{? +ȎX~}^ \9hG ;}L~?'Ϊiߢ +QRyMݖ/g+v\-A/O>`uFQDӰ9ԓ}:@P;By8HI (~%VxIi<|;w'sX,SE㻵Z\.o~zzzÇM@j ReÈ1H}5S^JnoЀvS`En91~gvJr!Gdc +61=-ȑzcwLum鋭))ݙ[dp'DH = +PKAC:^x f8FwqqAջeSYRw +I>J}'>KxNwYIG}\9vsP`ޙ$;?G+If#0wF\Ӛ-CNd ܷI>QpxwN:"*s}"PcJ(777zJrrrS(rEiIsNũm_CQ2T/f0FfggW Kq(׶%1D;^J[qgfXwQT-a||U#|Rakƨe>kkk.- +J%|GD"333`!}@6#)+EJzOK+Lu aq +؋۳d===#3t///89U7t}ymRIfZ۷oKp -n}Ѽo1aAOڒVQN! +hugwwj%KL&,qzzW^܀~ncAW788 +QN(b77Yk ZIјgw+mw;苀N%(E=Kdy*!=St͂w\arܜhsL&}޻L|t`G n&\ O@]J `Q=_gǿEDPL qpTe|[H*_xTց##)i*L@ۿmJvK*~SvVx{TY#É #B= ή٦uzXx/5PQOy[UԐTG +6߰-=dA@L: ,VcdSVv?1zΠK_w}GLCZʴu}֑kgg}@H8AjwBιt:H1f''@8wk2L^{ ~~#/`)o'y:rhS 6uE~e57e3,d[aR?f~8w䧂=|[^v}RK0J==cśy^İ#o*_s!!~{pȷL7u_ͲʡZy'S>)a///BAc~3V/^- 7o9S>opP-ټ7 +6M777q8ĥ7###=o,w2Rtlnnv>C9 dYT"|+cI uQzjδ#IÍFeBzƻeFlLlllhdZI")p IDAT/q]hX[ +@wWWee曮7`dhD"9  DquJo[xHx-{8`d;;;?$R!*uu5 Wi?8n Zq9>C_|5Y.CvHa=pΌ#"@yYM?`PKpqqۦ R +;Yr9OMMx<;Eپc<;/|__X-ӕSs1TSaI:::H"S]]]x|ddӒ%8!y?6 .u[m4p42\(qMTzQC8Cm=CYCxN8AP&IR#C^ :H|]0,k_ւ{<ؚ.܂7v%,5;-,SWaX{ʂ/4L꼣 *p!8Xp ijXQ1|>@;|01ڶ\ԋi%m6 ֱRPH tuu5 Յ믗]>/%QΏl^qP$>.Ŕyb91̘Hxpu3I_UƲdfPk 70EQ0d8z~%_YY 6"SNl[e ׬؜rMu H/ =#K|8 +aoγ2?Ď7ޯ6F2 +m}R%DuIŅZ=ZM%fY*h~*fN#ZHm-Z`";SVGGG{NkxaWRMӑ%&OcRI~6U`h .gYd($DUpWDWcQ#Ė<AJ)l` {{{zS3x?7g-OxttEa~m=J;-Ѱw*擝GtaM&(sW!Ꭸ< ڣa˭aM=1O+ :X@weZ +!iMjj"OXUki nGAvž`ggGkY@mvy=w5Lk 2ɄOpL a+=F HoM&R:qKXzgEؾp w")dGyOVX,`C`Ig-ǃ4 i&bu]Gh:44DHV-Ga(*Y|=?F>]W +ufzSiƀ.Lzpׯ_hHUh4 QɜѹXAm!f{rձ}e;&j iI?=`5"A?]fY[[%A;cvET`L###ObB=n-glSf~I弹Jn$a54Dk~ 0ݛnJ&_fI!- +l[*zzzV3dggYوlǧ#2pl?˖H 4ԏ]Kգn4F%|zz +og7}0pD#tvvr9鱰٠BS[Rooo@Y}xa 3R9cZqssT9XG{IWZe΢fڢbOË@7uS1 !؈ 2\U†%njSvjqصl]]v-Æ ; oP16\2Oݺ?88Ǎnb| 48F] 1~333t/؇H333<  f0"W}[Y_ VA xrzNkʧP:YE^*94غdy=!m/Q,-1{ٳ5q/oL >[K@X#p-@+ZL0smqV"j)"VAc +1 {_g#f }dF7}d6"nx|pppnn.e2*SR.O +ʽ[NӮӆ5xuL4d2+++0ɒ$Խ0&.a0[X eeGT3OJ_KՐwxx:99) +ĝH$Ru[=Ws4tTɳrQ@G ^D".`V^g _HXX-Hg{V9:|fK*DbFM﫫+6Vq1-V($k_Umpp'8ƽQܛ&k6|~cc͛7___ uww///b1DXIZ@ʆ!>"'Fشa4@准h9~{S)/]CX t׊ŢO´uGbD"1444==<77s*rҥV[5s\^^F"'_!s{ssC71y:N6;::caGft q)+uEiYӎ9U98¢1q*(ὺ?6@Ѹ:OR(*pyy_~2?q۷omqq˗f˗/o޼ف??`n,=/NOOǴ-uR-^6}c||kµ%ׯ_N™4l+:F -//O\E B&WA;lh_~D"ʢo녁s˓^\\|EZR:gggL_EVt>h4<],Cߓ@^:NRG鴺zxxh! b}>n?HcDB/..ɘi}ttw +y7Zmjj +HcsssggpssS=gggid8p_~m x|ppP.y"\gOo9#r:ryJqJecc#Hq>gA@H;144455533#SR4'{Ip N8~kkku#jO,X#od] z󍠲;3=(h@ϟ?ollÅ er9=zt~~X,}4v4s0 9;;{vv:׈riYqjȢi)6P*-蓊nþַp0 +~ݻwaE/> LgT*ӛ5i;22ҲKco5B.J@ OF8ɂ/|'n6<%+fg*oc7lu +qĠΏr9z w#4T:p'&&DfhE@7@GUYqkV^?88@30Ƅ]ˮ3]{OOOaҠv*pEAPCCC(x0Q g45M{ݥBR+MFkIFǏ>}"/+t +_GI{N6|K¶E0 +9 V +\V|\IvܪR")YM)p-f[ly{ez{pZy:ִ+Vb%Euwvv SԲ !F̀X(x^`ʙswG3x `ǘKU鷠Z*fNܾ:qa/ OZDwr]]],nJDECRG&AuL,y Su>>>^[[ KNĄL}nƒP̭8 2o3|?`hLpwwQ}5n5YRiJ i2Ke /,,-@DiO5:dNϖR5X^\|nGGuаRGZ'g=p\ĮTʃkFю~xzJZ)ޛ5ƹm%]t;{ %vyy+kqL7,_Z:|?&0D"/^x_Zg777=9D^|ӑ^!vӴ5v],& 666\frpGGG|T*i#<-8'u"0XFBscppp VN333ty*iIeElIUJ9H yWVAq/\ d9gpSvPS-aDq]w199i+::zttdsm?i +)H/6s=[zČ(A?DxrT-|`RHbYn||sW+7duanj YU>|&jr$XfKPKs&"|rUr [[[cccx<~b6D 8r?).xè'GVRzʊ*|gg,J 3'6 +< +#yuuEnɎd%wm"7~rr?zJl<%QM+s*~x}}/>...(677AѨ(H뺀כۨ+033#=#',5Yl6f>r ifǷo~x楣 . E|k={{{jUIytǔgϦq#VStH\_#뻊*$^^@O>]^^U-k]^^.J-{gq'pRI8Q9R$;EkӒm\1Trv0m\}_Pܞ|>5L(xԡځfr(?44}mLa~p777}6EC0ZohqMB j:::Z__QD5 a*tEQL8 + +~Z-tfv]YYwev򻇠o͖TO&`hg{ miYCoZzMϟ|Iy(oww7NB2$DAT*ʴ^L0KӅJ^36 fqJ_bf8K@1|L 峿_G^zr6 # -1șF&FoU}w#@𣻻4"!5===11V1@;n=Na1:ۣ}w6'3[P9G]8eEs^\#)?mY[ޖe˗/'&&,'>99}_+Lq%qHG|8ͺ{5>>fE>STqV!nkkkelgww]),ח/__R'bb]-C2?N\7kjgYã^ՆT*H(.32Š:Tsܓ4ז3^w677+ +4Jﱴ455+d*~J +ݒ%*~&}f%ctuu)=Oj)u7_iCd YfussKm !uU=cNTLՖys5Ʊ˦ZgWI^R2濺Bqj5ϧR~!ˉR"'DDU5AKkYmZ&Ѱ,d2Xf|VL +XZW[Ҩӛ\s +~[V-otQODXڂxMl?<72}ֶ̒%wF`22bm QGV߿l٩iCΐ6r'j:xKVyǎb1~{{쬫;755WG_|)˧dvH+ #xbI:6Z`uuuoo Z$kЮikg``/ra#bT{Z 3`)Ť4GwiTӧO5uɝىX̊zyt`P%liA.//766޿[bDFTv:R)Q‰bxiY'pzzA6eOmqH "={ J$B~0؎:k6q}}իW[[[===ܲPqGWR +`ƎYp am Jo޼矷h+(MT`A9 $EMڶC>\u6.ƱԿP,511A911Ai"X6O`;*8gEzEChy]7#G;Ed2prCqV+]m{ L&m~6 ažv.ȁ㑯nmmE l^___.{쬶 +Bmsm&m[eߢ@ԱY:|9W˿ڽ†dPT677ŢRdG766NFA[ 5h4*Lnv_W뺋 qB8 $` 099*dI&zvx<^R. ; +Be:]|Y(>KK[Ж>`m9&%LcQ}RbZIOTOwX@8H H$itT*Aݛ^Ҿy8?\l~"l>͟fyG,d2)úf582}-e9g<$'kQ]-8y*rLѰ24]&@X]Ά3虎b/ +|%vA{>}ͦf؁ "VRKn3 +m ]S+r@Of[0A%^sD{#11s xso'z(T}ֵ8cccO>oټCwB䓁| Ԏ +[#^69 + bXMx,T*s~~ňd2onn0 oszzy"Y][#K i*G1^uRY[[`8LwfK4:XێcZM~Qˍ'g===H7M6KsvvVzK!Ri4&n4G# 6)="o7Ր,:G%lhq3V*J3### n|իWh)Ŕigh& 0_~euuFb `|'lhRC0cLckm팊}hL#qhh^RY@ 3W"#y$'Hr;J(u)oٍFNqjJZZhWH$`-"N855%u蕗CrݷT[F}0Bpf# +UBf2A9xIq# +_d3(|@&iAB(q@3mZ=ºD,IS!B`X5!y@YҋB{嚚r 13JCOOMMˠǓRl22kKRfRt:M-k rpp0222???88(OG.}Q 4v_uXDy @J$l˗ׯ_C#rf٣po8'%;H9F9ɼxbaaŴ/4 P)ǁ&ip +VY޽{wwwDŽ(1Ph@C),a*Vl!O l||ߟ9??, X̼绻;D"vvv((Ad^[^^ۃ(0R)R6agWWW×f1u]0N&-OGN#K`5eW*ua!hpttŋKKKdQ$LT*R.//# \.NkJfTv$!/A«+b8vOOO_H"Jr||W.1KϋٕbÇ==dddmل- +dFǜYqvi`9zc40\ywuu*4 ؍7)E斚y;rd2J8uyXM,*(T*]7t 3jSLEy`jLĀ 7b-#"B[^^~%E0Lzl0dї/_>}|yqFj'lZBG7k+R$=4AvwwǍUHGjg<1yvvv@ʒBݻw,ʳ3|\wzzz~~ŋJע6B,~vH:tqqzzz,NjkZPʗ/_0<0FQJR.S09]xc8]Fq~~Fp= 顡!`[?|x\ W|q)~Q"}S?l#aceH$fgg={6??ogs 1=0(Kq<Gs :OVclymmM.v]ɻAׯ_R\.etssC֛ ,5H$){3AA1RHD4Gpǹolg`Q8h4<}ɱ1ԃSUZ-P*Nl^,'0 ٮׄUÇ1:&Ў٦Rȿm#レh]QEewwijԙ  +YZb#W|ZʩN!\ p\aklfr-V(Iބ %:bRN~)P{ǽ Zcxy6E(0jNh,17AR}uuÇR"+L"tuJR,)6u 됔'aD_nmmupf@QK&X&fVx09!4l6;22 _s9HV AL8f_dq,,X:@u@dKUݩqfD^Kr-ahSYeYDEvZT#LbDjbA'@πeY\ջ,_uss>6[եM LĶIY:gehh5#1SOkpSSF gSǮ."H>r'H4M7UОM+s$=BR5&MXfg%9.Q!:0bS6(<3dxY;%+mz,B} vW2c/ N.PXGyI͂ގd.pGL&CJ&''Đ9gonn:::ɤϰ* )[NN]TC[* +t\dpXOzT՛@wwwkV*`ځ:<Q&- Tjdd_` /@qLjYd2P$qԆX>99~gggKcsxbuIAG[ aH%+kTD[GB 0ZW=7)X뇇iB?R| n Ov jzqq;j%g;.KʼnGAl ى0Itςwlrr@ϰ]=XuI7iZ]uR)?IT"xz=NMbcZ/M]2M4/Cv]RL*:<<=Mc +.639ۃ7H$ l采J10X!AyVQ.iݝfYЁT}aqrRq[.JD_?h?;|jj&#333K_*IXaT\s+bA|ې 뺼?ʞ>?? +Bιo׈S&c ¦FeSY|hRB{Vd=kzeI,=z1P: xxxx){5qxdhD +<^g,i5Rf o```lllzz.duK$[Y䫺hqYU:G( e._ ސ*uxDsLB{{{?Ejj4Ü h'-|Oa#Noo/8˲cd1?|@ژE_ƕ\L@ϟ?e\4">` ח###q扮c*fğXSw%LKc +AnooAhhM [S)g]Ԩqô$64#eQcBTH/*trZMYL&줒Y1}%!뱾k܃gcc`b0TBU@S^g흘 ZE nWWWa:#d7h~X,yF5H{4p]w}}H$JE"bݥڵZ쀁aԌ"y(ZB +`Nr dvĒ{a7giiɮq!wpB0+.[@mkz<|bKΐNO e1uF|bZԖX M?9KR$IӢ= +{G?nj>֋+emxF$^8mZnj0+2ͶCVɵsNѐjor8Twvv޾} W";;;٠qBqL&Khw5`Rk H$x*?ܜ`FtBӈ xhaҰ=$i\c(H8fG7 +A9gf sŰ  ̭_*04F+q4Ylh@Qw;IILguԿSm +;ի8DzŅh0trCBzv꤈) ?Qʐeg3:[ 2%\Nl?!tyA()*iMnUF|Zӓca5ā`:L_瑑JA$!V:_ʺTx I^mtPVuGGte `t%V/$3'뺒~lU{;~ VZx<whjj"CF t.ǮI:|͡9>N>cR(!f%/^0I$+++www;;;˙\.纮dZm}}ill,3'XIb逍sH<y?IJN.^E0R}}}6#x:*JE#䰞}qzz +~庮5kْs"r*l%RD==㸓}* +GNV?xrr?ʶXkp83в0sȁ Vшc$'VG^6񃃃+"Ȋ11O<n,ŠZ_;.E=:{_K RQ;̮)6gj567LBy@&8?{T8S"ǝ%:LSaimJ"Ujv<ѫW.bOKON[Y83N%&A(B6(Da5 m&K:P#S,I+יW`d,p~x]/bgN4^V@Ttyu'R>I XN*r&aR(fH&'''4J`2>(>iրw(+G'<{ǧ$J7h;33344dR/f񚄯0lw׃3Fl1La]%:$!,)KovZ7這Ix|"kzos{ KxIݽ EdwD̆ONNjo8bTj ,4~$"Eq]0iΰŁ&x)D\5E4*%su)~||}UW*ޞgRWOxFB!iS:}J7%,@F逋83V /DS$/lM3+TST +Tq84u)i6_KfF?xYCCCB{&i{llljj* 'Z¥ 7ڟ!ty)bbbbfffjj^ a&epphS};LO,gL?j? YI;mZ +vCCEK>ڏk"?*LnlooollIyrf-knDptN"`h\8 ê}%+yhQD""ϵ O{V&.JQV@banv(}_HU9 lww0z]Xh"gF`c(_~[_|4MsܕJ4uuF*"n4!(<"买)LCZnUe ČG3z$0y pzNi JD3$e l5ўe= KAy;a:66h4UPj3BMIENDB` \ No newline at end of file diff --git a/tests/aes3500/device b/tests/aes3500/device new file mode 100644 index 0000000..4a2a903 --- /dev/null +++ b/tests/aes3500/device @@ -0,0 +1,561 @@ +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0/usb3/3-1/3-1.1/3-1.1.3 +N: bus/usb/003/004=12011001FFFFFF08FF0831570000000100010902200001010080320904000002FFFFFF000705810240000007050202080000 +E: BUSNUM=003 +E: DEVNAME=/dev/bus/usb/003/004 +E: DEVNUM=004 +E: DEVTYPE=usb_device +E: DRIVER=usb +E: ID_BUS=usb +E: ID_MODEL=Fingerprint_Sensor +E: ID_MODEL_ENC=Fingerprint\x20Sensor +E: ID_MODEL_FROM_DATABASE=AES3500 TruePrint Sensor +E: ID_MODEL_ID=5731 +E: ID_REVISION=0000 +E: ID_SERIAL=08ff_Fingerprint_Sensor +E: ID_USB_INTERFACES=:ffffff: +E: ID_VENDOR=08ff +E: ID_VENDOR_ENC=08ff +E: ID_VENDOR_FROM_DATABASE=AuthenTec, Inc. +E: ID_VENDOR_ID=08ff +E: LIBFPRINT_DRIVER=AuthenTec AES3500 +E: MAJOR=189 +E: MINOR=259 +E: PRODUCT=8ff/5731/0 +E: SUBSYSTEM=usb +E: TYPE=255/255/255 +A: authorized=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=ff +A: bDeviceProtocol=ff +A: bDeviceSubClass=ff +A: bMaxPacketSize0=8 +A: bMaxPower=100mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=0000 +A: bmAttributes=80 +A: busnum=3 +A: configuration= +H: descriptors=12011001FFFFFF08FF0831570000000100010902200001010080320904000002FFFFFF000705810240000007050202080000 +A: dev=189:259 +A: devnum=4 +A: devpath=1.1.3 +L: driver=../../../../../../../../../../bus/usb/drivers/usb +A: idProduct=5731 +A: idVendor=08ff +A: ltm_capable=no +A: maxchild=0 +L: port=../3-1.1:1.0/3-1.1-port3 +A: power/active_duration=3601332 +A: power/async=enabled +A: power/autosuspend=2 +A: power/autosuspend_delay_ms=2000 +A: power/connected_duration=3601332 +A: power/control=auto +A: power/level=auto +A: power/persist=1 +A: power/runtime_active_kids=0 +A: power/runtime_active_time=3601128 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: product=Fingerprint Sensor +A: quirks=0x0 +A: removable=removable +A: speed=12 +A: urbnum=82 +A: version= 1.10 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0/usb3/3-1/3-1.1 +N: bus/usb/003/003=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C +E: BUSNUM=003 +E: DEVNAME=/dev/bus/usb/003/003 +E: DEVNUM=003 +E: DEVTYPE=usb_device +E: DRIVER=usb +E: ID_BUS=usb +E: ID_FOR_SEAT=usb-pci-0000_39_00_0-usb-0_1_1 +E: ID_MODEL=USB2.0_Hub +E: ID_MODEL_ENC=USB2.0\x20Hub\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 +E: ID_MODEL_ID=0006 +E: ID_PATH=pci-0000:39:00.0-usb-0:1.1 +E: ID_PATH_TAG=pci-0000_39_00_0-usb-0_1_1 +E: ID_REVISION=9100 +E: ID_SERIAL=VIA_Labs__Inc._USB2.0_Hub +E: ID_USB_INTERFACES=:090000: +E: ID_VENDOR=VIA_Labs__Inc. +E: ID_VENDOR_ENC=VIA\x20Labs\x2c\x20Inc.\x20\x20\x20\x20\x20\x20\x20\x20\x20 +E: ID_VENDOR_ID=2230 +E: MAJOR=189 +E: MINOR=258 +E: PRODUCT=2230/6/9100 +E: SUBSYSTEM=usb +E: TAGS=:seat: +E: TYPE=9/0/1 +A: authorized=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=09 +A: bDeviceProtocol=01 +A: bDeviceSubClass=00 +A: bMaxPacketSize0=64 +A: bMaxPower=0mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=9100 +A: bmAttributes=e0 +A: busnum=3 +A: configuration= +H: descriptors=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C +A: dev=189:258 +A: devnum=3 +A: devpath=1.1 +L: driver=../../../../../../../../../bus/usb/drivers/usb +A: idProduct=0006 +A: idVendor=2230 +A: ltm_capable=no +A: manufacturer=VIA Labs, Inc. +A: maxchild=4 +L: port=../3-1:1.0/3-1-port1 +A: power/active_duration=3601776 +A: power/async=enabled +A: power/autosuspend=0 +A: power/autosuspend_delay_ms=0 +A: power/connected_duration=3601776 +A: power/control=auto +A: power/level=auto +A: power/runtime_active_kids=2 +A: power/runtime_active_time=3601572 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: product=USB2.0 Hub +A: quirks=0x0 +A: removable=fixed +A: speed=480 +A: urbnum=40 +A: version= 2.10 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0/usb3/3-1 +N: bus/usb/003/002=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C +E: BUSNUM=003 +E: DEVNAME=/dev/bus/usb/003/002 +E: DEVNUM=002 +E: DEVTYPE=usb_device +E: DRIVER=usb +E: ID_BUS=usb +E: ID_FOR_SEAT=usb-pci-0000_39_00_0-usb-0_1 +E: ID_MODEL=USB2.0_Hub +E: ID_MODEL_ENC=USB2.0\x20Hub\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 +E: ID_MODEL_ID=0006 +E: ID_PATH=pci-0000:39:00.0-usb-0:1 +E: ID_PATH_TAG=pci-0000_39_00_0-usb-0_1 +E: ID_REVISION=9100 +E: ID_SERIAL=VIA_Labs__Inc._USB2.0_Hub +E: ID_USB_INTERFACES=:090000: +E: ID_VENDOR=VIA_Labs__Inc. +E: ID_VENDOR_ENC=VIA\x20Labs\x2c\x20Inc.\x20\x20\x20\x20\x20\x20\x20\x20\x20 +E: ID_VENDOR_ID=2230 +E: MAJOR=189 +E: MINOR=257 +E: PRODUCT=2230/6/9100 +E: SUBSYSTEM=usb +E: TAGS=:seat: +E: TYPE=9/0/1 +A: authorized=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=09 +A: bDeviceProtocol=01 +A: bDeviceSubClass=00 +A: bMaxPacketSize0=64 +A: bMaxPower=0mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=9100 +A: bmAttributes=e0 +A: busnum=3 +A: configuration= +H: descriptors=12011002090001403022060000910102000109021900010100E0000904000001090000000705810301000C +A: dev=189:257 +A: devnum=2 +A: devpath=1 +L: driver=../../../../../../../../bus/usb/drivers/usb +A: idProduct=0006 +A: idVendor=2230 +A: ltm_capable=no +A: manufacturer=VIA Labs, Inc. +A: maxchild=4 +L: port=../3-0:1.0/usb3-port1 +A: power/active_duration=3602292 +A: power/async=enabled +A: power/autosuspend=0 +A: power/autosuspend_delay_ms=0 +A: power/connected_duration=3602292 +A: power/control=auto +A: power/level=auto +A: power/runtime_active_kids=1 +A: power/runtime_active_time=3602016 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: product=USB2.0 Hub +A: quirks=0x0 +A: removable=removable +A: speed=480 +A: urbnum=31 +A: version= 2.10 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0/usb3 +N: bus/usb/003/001=12010002090001406B1D020015040302010109021900010100E0000904000001090000000705810304000C +E: BUSNUM=003 +E: DEVNAME=/dev/bus/usb/003/001 +E: DEVNUM=001 +E: DEVTYPE=usb_device +E: DRIVER=usb +E: ID_BUS=usb +E: ID_FOR_SEAT=usb-pci-0000_39_00_0 +E: ID_MODEL=xHCI_Host_Controller +E: ID_MODEL_ENC=xHCI\x20Host\x20Controller +E: ID_MODEL_FROM_DATABASE=2.0 root hub +E: ID_MODEL_ID=0002 +E: ID_PATH=pci-0000:39:00.0 +E: ID_PATH_TAG=pci-0000_39_00_0 +E: ID_REVISION=0415 +E: ID_SERIAL=Linux_4.15.0-117-generic_xhci-hcd_xHCI_Host_Controller_0000:39:00.0 +E: ID_SERIAL_SHORT=0000:39:00.0 +E: ID_USB_INTERFACES=:090000: +E: ID_VENDOR=Linux_4.15.0-117-generic_xhci-hcd +E: ID_VENDOR_ENC=Linux\x204.15.0-117-generic\x20xhci-hcd +E: ID_VENDOR_FROM_DATABASE=Linux Foundation +E: ID_VENDOR_ID=1d6b +E: MAJOR=189 +E: MINOR=256 +E: PRODUCT=1d6b/2/415 +E: SUBSYSTEM=usb +E: TAGS=:seat: +E: TYPE=9/0/1 +A: authorized=1 +A: authorized_default=1 +A: avoid_reset_quirk=0 +A: bConfigurationValue=1 +A: bDeviceClass=09 +A: bDeviceProtocol=01 +A: bDeviceSubClass=00 +A: bMaxPacketSize0=64 +A: bMaxPower=0mA +A: bNumConfigurations=1 +A: bNumInterfaces= 1 +A: bcdDevice=0415 +A: bmAttributes=e0 +A: busnum=3 +A: configuration= +H: descriptors=12010002090001406B1D020015040302010109021900010100E0000904000001090000000705810304000C +A: dev=189:256 +A: devnum=1 +A: devpath=0 +L: driver=../../../../../../../bus/usb/drivers/usb +A: idProduct=0002 +A: idVendor=1d6b +A: interface_authorized_default=1 +A: ltm_capable=no +A: manufacturer=Linux 4.15.0-117-generic xhci-hcd +A: maxchild=2 +A: power/active_duration=3602700 +A: power/async=enabled +A: power/autosuspend=0 +A: power/autosuspend_delay_ms=0 +A: power/connected_duration=3602700 +A: power/control=auto +A: power/level=auto +A: power/runtime_active_kids=1 +A: power/runtime_active_time=3602700 +A: power/runtime_enabled=enabled +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=0 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: product=xHCI Host Controller +A: quirks=0x0 +A: removable=unknown +A: serial=0000:39:00.0 +A: speed=480 +A: urbnum=24 +A: version= 2.00 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0/0000:39:00.0 +E: DRIVER=xhci_hcd +E: ID_MODEL_FROM_DATABASE=DSL6340 USB 3.1 Controller [Alpine Ridge] +E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller +E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI +E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: MODALIAS=pci:v00008086d000015B5sv00002222sd00001111bc0Csc03i30 +E: PCI_CLASS=C0330 +E: PCI_ID=8086:15B5 +E: PCI_SLOT_NAME=0000:39:00.0 +E: PCI_SUBSYS_ID=2222:1111 +E: SUBSYSTEM=pci +A: broken_parity_status=0 +A: class=0x0c0330 +H: config=8680B515060410000030030C200000000000F0D9000000000000000000000000000000000000000000000000222211110000000080000000000000000B010000 +A: consistent_dma_mask_bits=64 +A: current_link_speed=2.5 GT/s +A: current_link_width=4 +A: d3cold_allowed=1 +A: dbc=disabled +A: device=0x15b5 +A: dma_mask_bits=64 +L: driver=../../../../../../bus/pci/drivers/xhci_hcd +A: driver_override=(null) +A: enable=1 +L: iommu=../../../../../virtual/iommu/dmar1 +L: iommu_group=../../../../../../kernel/iommu_groups/17 +A: irq=141 +A: local_cpulist=0-3 +A: local_cpus=f +A: max_link_speed=2.5 GT/s +A: max_link_width=4 +A: modalias=pci:v00008086d000015B5sv00002222sd00001111bc0Csc03i30 +A: msi_bus=1 +A: msi_irqs/141=msi +A: numa_node=-1 +A: pools=poolinfo - 0.1\nbuffer-2048 3 6 2048 3\nbuffer-512 12 16 512 2\nbuffer-128 0 0 128 0\nbuffer-32 0 0 32 0\nxHCI 1KB stream ctx arrays 0 0 1024 0\nxHCI 256 byte stream ctx arrays 0 0 256 0\nxHCI input/output contexts 15 15 2112 15\nxHCI ring segments 44 46 4096 46\nbuffer-2048 0 0 2048 0\nbuffer-512 0 0 512 0\nbuffer-128 3 32 128 1\nbuffer-32 0 0 32 0 +A: power/async=enabled +A: power/control=on +A: power/runtime_active_kids=2 +A: power/runtime_active_time=3602712 +A: power/runtime_enabled=forbidden +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=1 +A: power/wakeup=enabled +A: power/wakeup_abort_count=0 +A: power/wakeup_active=0 +A: power/wakeup_active_count=0 +A: power/wakeup_count=0 +A: power/wakeup_expire_count=0 +A: power/wakeup_last_time_ms=224549241 +A: power/wakeup_max_time_ms=0 +A: power/wakeup_total_time_ms=0 +A: resource=0x00000000d9f00000 0x00000000d9f0ffff 0x0000000000040200\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000 +A: revision=0x00 +A: subsystem_device=0x1111 +A: subsystem_vendor=0x2222 +A: vendor=0x8086 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0/0000:02:02.0 +E: DRIVER=pcieport +E: ID_MODEL_FROM_DATABASE=DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] +E: ID_PCI_CLASS_FROM_DATABASE=Bridge +E: ID_PCI_INTERFACE_FROM_DATABASE=Normal decode +E: ID_PCI_SUBCLASS_FROM_DATABASE=PCI bridge +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: MODALIAS=pci:v00008086d00001576sv00002222sd00001111bc06sc04i00 +E: PCI_CLASS=60400 +E: PCI_ID=8086:1576 +E: PCI_SLOT_NAME=0000:02:02.0 +E: PCI_SUBSYS_ID=2222:1111 +E: SUBSYSTEM=pci +A: broken_parity_status=0 +A: class=0x060400 +H: config=86807615060410000000040620000100000000000000000002393900F1010000F0D9F0D9F1FF010000000000000000000000000080000000000000000B011000 +A: consistent_dma_mask_bits=32 +A: current_link_speed=2.5 GT/s +A: current_link_width=4 +A: d3cold_allowed=1 +A: device=0x1576 +A: dma_mask_bits=32 +L: driver=../../../../../bus/pci/drivers/pcieport +A: driver_override=(null) +A: enable=1 +L: iommu=../../../../virtual/iommu/dmar1 +L: iommu_group=../../../../../kernel/iommu_groups/17 +A: irq=140 +A: local_cpulist=0-3 +A: local_cpus=f +A: max_link_speed=2.5 GT/s +A: max_link_width=4 +A: modalias=pci:v00008086d00001576sv00002222sd00001111bc06sc04i00 +A: msi_bus=1 +A: msi_irqs/140=msi +A: numa_node=-1 +A: power/async=enabled +A: power/clk_ctl=0 +A: power/control=on +A: power/link_state=0 +A: power/runtime_active_kids=1 +A: power/runtime_active_time=3602728 +A: power/runtime_enabled=forbidden +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=2 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: resource=0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x00000000d9f00000 0x00000000d9ffffff 0x0000000000000200\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000 +A: revision=0x00 +A: secondary_bus_number=57 +A: subordinate_bus_number=57 +A: subsystem_device=0x1111 +A: subsystem_vendor=0x2222 +A: vendor=0x8086 + +P: /devices/pci0000:00/0000:00:1c.0/0000:01:00.0 +E: DRIVER=pcieport +E: ID_MODEL_FROM_DATABASE=DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] +E: ID_PCI_CLASS_FROM_DATABASE=Bridge +E: ID_PCI_INTERFACE_FROM_DATABASE=Normal decode +E: ID_PCI_SUBCLASS_FROM_DATABASE=PCI bridge +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: MODALIAS=pci:v00008086d00001576sv00002222sd00001111bc06sc04i00 +E: PCI_CLASS=60400 +E: PCI_ID=8086:1576 +E: PCI_SLOT_NAME=0000:01:00.0 +E: PCI_SUBSYS_ID=2222:1111 +E: SUBSYSTEM=pci +A: broken_parity_status=0 +A: class=0x060400 +H: config=86807615060410000000040620000100000000000000000001023900F101000000C400DA01A0F1C100000000000000000000000080000000000000000B011000 +A: consistent_dma_mask_bits=32 +A: current_link_speed=8 GT/s +A: current_link_width=2 +A: d3cold_allowed=1 +A: device=0x1576 +A: dma_mask_bits=32 +L: driver=../../../../bus/pci/drivers/pcieport +A: driver_override=(null) +A: enable=1 +L: iommu=../../../virtual/iommu/dmar1 +L: iommu_group=../../../../kernel/iommu_groups/14 +A: irq=137 +A: local_cpulist=0-3 +A: local_cpus=f +A: max_link_speed=8 GT/s +A: max_link_width=4 +A: modalias=pci:v00008086d00001576sv00002222sd00001111bc06sc04i00 +A: msi_bus=1 +A: msi_irqs/137=msi +A: numa_node=-1 +A: power/async=enabled +A: power/control=on +A: power/runtime_active_kids=2 +A: power/runtime_active_time=3602740 +A: power/runtime_enabled=forbidden +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=2 +A: power/wakeup=enabled +A: power/wakeup_abort_count=0 +A: power/wakeup_active=0 +A: power/wakeup_active_count=0 +A: power/wakeup_count=0 +A: power/wakeup_expire_count=0 +A: power/wakeup_last_time_ms=224549237 +A: power/wakeup_max_time_ms=0 +A: power/wakeup_total_time_ms=0 +A: resource=0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x00000000c4000000 0x00000000da0fffff 0x0000000000000200\n0x00000000a0000000 0x00000000c1ffffff 0x0000000000102201\n0x0000000000000000 0x0000000000000000 0x0000000000000000 +A: revision=0x00 +A: secondary_bus_number=2 +A: subordinate_bus_number=57 +A: subsystem_device=0x1111 +A: subsystem_vendor=0x2222 +A: vendor=0x8086 + +P: /devices/pci0000:00/0000:00:1c.0 +E: DRIVER=pcieport +E: ID_MODEL_FROM_DATABASE=Sunrise Point-LP PCI Express Root Port +E: ID_PCI_CLASS_FROM_DATABASE=Bridge +E: ID_PCI_INTERFACE_FROM_DATABASE=Normal decode +E: ID_PCI_SUBCLASS_FROM_DATABASE=PCI bridge +E: ID_VENDOR_FROM_DATABASE=Intel Corporation +E: MODALIAS=pci:v00008086d00009D10sv00001028sd0000075Bbc06sc04i00 +E: PCI_CLASS=60400 +E: PCI_ID=8086:9D10 +E: PCI_SLOT_NAME=0000:00:1c.0 +E: PCI_SUBSYS_ID=1028:075B +E: SUBSYSTEM=pci +A: broken_parity_status=0 +A: class=0x060400 +H: config=8680109D07041000F1000406000081000000000000000000000139002020002000C400DA01A0F1C100000000000000000000000040000000000000000B011000 +A: consistent_dma_mask_bits=32 +A: current_link_speed=8 GT/s +A: current_link_width=2 +A: d3cold_allowed=1 +A: device=0x9d10 +A: dma_mask_bits=32 +L: driver=../../../bus/pci/drivers/pcieport +A: driver_override=(null) +A: enable=1 +L: iommu=../../virtual/iommu/dmar1 +L: iommu_group=../../../kernel/iommu_groups/6 +A: irq=123 +A: local_cpulist=0-3 +A: local_cpus=f +A: max_link_speed=8 GT/s +A: max_link_width=2 +A: modalias=pci:v00008086d00009D10sv00001028sd0000075Bbc06sc04i00 +A: msi_bus=1 +A: msi_irqs/123=msi +A: numa_node=-1 +A: power/async=enabled +A: power/control=on +A: power/runtime_active_kids=1 +A: power/runtime_active_time=228151860 +A: power/runtime_enabled=forbidden +A: power/runtime_status=active +A: power/runtime_suspended_time=0 +A: power/runtime_usage=2 +A: power/wakeup=disabled +A: power/wakeup_abort_count= +A: power/wakeup_active= +A: power/wakeup_active_count= +A: power/wakeup_count= +A: power/wakeup_expire_count= +A: power/wakeup_last_time_ms= +A: power/wakeup_max_time_ms= +A: power/wakeup_total_time_ms= +A: resource=0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000000000 0x0000000000000000 0x0000000000000000\n0x0000000000002000 0x0000000000002fff 0x0000000000000100\n0x00000000c4000000 0x00000000da0fffff 0x0000000000000200\n0x00000000a0000000 0x00000000c1ffffff 0x0000000000102201\n0x0000000000000000 0x0000000000000000 0x0000000000000000 +A: revision=0xf1 +A: secondary_bus_number=1 +A: subordinate_bus_number=57 +A: subsystem_device=0x075b +A: subsystem_vendor=0x1028 +A: vendor=0x8086 + diff --git a/tests/meson.build b/tests/meson.build index 70044b8..57b6a68 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -17,6 +17,7 @@ envs.set('FP_DRIVERS_WHITELIST', 'virtual_image') envs.set('NO_AT_BRIDGE', '1') drivers_tests = [ + 'aes3500', 'elan', 'synaptics', 'vfs0050',