Repository: tianocore/edk2-pytool-library

Issue:
[Bug]: Loading EFiVariableAuthentication2 from Filestream results in exception
### Contact Details

aaronpop@microsoft.com

### Describe the Bug

Downloading the latest [DBX from UEFI.org](https://uefi.org/sites/default/files/resources/DBXUpdate.bin) and attempting to load it through the Edk2ToolLib\uefi\authenticated_variables_structure_support.py's EFiVariableAuthentication2 class results in an exception.


`  File "site-packages\edk2toollib\uefi\authenticated_variables_structure_support.py", line 849, in __init__
    self.PopulateFromFileStream(decodefs)
  File "site-packages\edk2toollib\uefi\authenticated_variables_structure_support.py", line 862, in PopulateFromFileStream
    self.EfiTime = EfiTime(decodefs=fs)
  File "site-packages\edk2toollib\uefi\authenticated_variables_structure_support.py", line 766, in __init__
    self.PopulateFromFileStream(decodefs)
  File "site-packages\edk2toollib\uefi\authenticated_variables_structure_support.py", line 802, in PopulateFromFileStream
    self.Time = datetime.datetime(Year, Month, Day, Hour, Minute, Second, NanoSecond / 1000)
TypeError: 'float' object cannot be interpreted as an integer`



### Reproduction steps

1. Download the dbx
2. run the following python code
Example python code
` from edk2toollib.uefi.authenticated_variables_structure_support import EFiVariableAuthentication2

fi = open("dbx.bin","rb")
Db = EFiVariableAuthentication2(decodefs=fi)
`

### Expected behavior

It looks like the data unpacked from the file stream is attempting to be manipulated by dividing by 1000. 

I don't think the division is necessary, and removing it allows the operation to complete correctly
    def PopulateFromFileStream(self, fs):
     ...
     ...
     ...
        self.Time = datetime.datetime(Year, Month, Day, Hour, Minute, Second, NanoSecond / 1000)
        
        
        self.Time = datetime.datetime(Year, Month, Day, Hour, Minute, Second, NanoSecond)


### What Python version are you using?

Python 3.10, Python 3.11

### Execution Environment

_No response_

### Pip packages

_No response_

### Additional context

_No response_

Comments:

Patch:
diff --git a/.cspell.json b/.cspell.json
index 00e3e94..2d2eb60 100644
--- a/.cspell.json
+++ b/.cspell.json
@@ -12,8 +12,7 @@
         "*.exe"
     ],
     "allowCompoundWords": true,
-    "ignoreWords": [
-    ],
+    "ignoreWords": [],
     "words": [
         "isfile",
         "isclass",
@@ -68,7 +67,9 @@
         "dirid",
         "nologo",
         "rsassa",
-        "fixedpcd", "featurepcd", "patchpcd",
+        "fixedpcd",
+        "featurepcd",
+        "patchpcd",
         "edkii",
         "levelno",
         "localizable",
@@ -93,6 +94,8 @@
         "markdownlint",
         "codecov",
         "nonlocalizable",
-        "mkdocs"
+        "mkdocs",
+        "DBXFILE",
+        "decodefs"
     ]
-}
+}
\ No newline at end of file
diff --git a/edk2toollib/uefi/authenticated_variables_structure_support.py b/edk2toollib/uefi/authenticated_variables_structure_support.py
index 123a09f..f5e311a 100644
--- a/edk2toollib/uefi/authenticated_variables_structure_support.py
+++ b/edk2toollib/uefi/authenticated_variables_structure_support.py
@@ -799,7 +799,7 @@ def PopulateFromFileStream(self, fs):
         Daylight = struct.unpack("<B", fs.read(1))[0]
         fs.seek(1, 1)  # seek past pad2
 
-        self.Time = datetime.datetime(Year, Month, Day, Hour, Minute, Second, NanoSecond / 1000)
+        self.Time = datetime.datetime(Year, Month, Day, Hour, Minute, Second, NanoSecond // 1000)
         logging.debug("I don't know how to deal with TimeZone or Daylight and I don't care at the moment")
         logging.debug("Timezone value is: 0x%x" % TimeZone)
         logging.debug("Daylight value is: 0x%X" % Daylight)


Test patch:
diff --git a/edk2toollib/tests/test_authenticated_variables_structure_support.py b/edk2toollib/tests/test_authenticated_variables_structure_support.py
index 55ed5ea..837685d 100644
--- a/edk2toollib/tests/test_authenticated_variables_structure_support.py
+++ b/edk2toollib/tests/test_authenticated_variables_structure_support.py
@@ -13,7 +13,7 @@
 import io
 from edk2toollib.uefi.authenticated_variables_structure_support import \
     EfiSignatureDatabase, EfiSignatureList, EfiSignatureDataEfiCertSha256,\
-    EfiSignatureDataEfiCertX509, EfiSignatureDataFactory
+    EfiSignatureDataEfiCertX509, EfiSignatureDataFactory, EFiVariableAuthentication2
 # import logging
 
 VERBOSE = False
@@ -71,6 +71,870 @@
     '9999999999999999999999999999999999999999999999999999999999999999'
 ]
 
+# DBXFILE contains Dbx contents downloaded from UEFI.org's Revocation List on 2023.01.30 (x64)
+DBXFILE = 'da070306131115000000000000000000'\
+          'f60c00000002f10e9dd2af4adf68ee49'\
+          '8aa9347d375665a730820cda02010131'\
+          '0f300d06096086480165030402010500'\
+          '300b06092a864886f70d010701a0820a'\
+          'ed308204fd308203e5a0030201020213'\
+          '330000002596d20c5c53120043000000'\
+          '000025300d06092a864886f70d01010b'\
+          '0500308180310b300906035504061302'\
+          '5553311330110603550408130a576173'\
+          '68696e67746f6e3110300e0603550407'\
+          '13075265646d6f6e64311e301c060355'\
+          '040a13154d6963726f736f667420436f'\
+          '72706f726174696f6e312a3028060355'\
+          '040313214d6963726f736f667420436f'\
+          '72706f726174696f6e204b454b204341'\
+          '2032303131301e170d32313039303231'\
+          '38323433315a170d3232303930313138'\
+          '323433315a308186310b300906035504'\
+          '0613025553311330110603550408130a'\
+          '57617368696e67746f6e3110300e0603'\
+          '55040713075265646d6f6e64311e301c'\
+          '060355040a13154d6963726f736f6674'\
+          '20436f72706f726174696f6e3130302e'\
+          '060355040313274d6963726f736f6674'\
+          '2057696e646f77732055454649204b65'\
+          '792045786368616e6765204b65793082'\
+          '0122300d06092a864886f70d01010105'\
+          '000382010f003082010a0282010100ca'\
+          'be8aef9b0f8692546db68e66e1585f14'\
+          'ebebe6eed227c8fa323674b22e24efba'\
+          'fa169e7a5fa4c2e6f252076ab245a4f8'\
+          'cf358d0d9c618cafae8ad1807cd50c19'\
+          '23a741a3525a4e32e78d21b83b063517'\
+          '03349de5635e77b2ac3e502fb7231c59'\
+          'e3f3c977139eeb65e44324f6cf04701f'\
+          'd5962995d0f573012769eea20942a7be'\
+          'c1f7e67d4b2e6ed8a958a98e4043aa6f'\
+          '620b676becebab447f6ecbf174fda343'\
+          'ba10cbfc1e05c2d652d3a139626f4a18'\
+          'e7f8bf3fa412f63fc13af332040049d2'\
+          'b26ea270c5cf914f56661de0d54ce3bc'\
+          '3399e01e016190a03dc8826a87b032e0'\
+          '1526dadd767ef07c0ba72953d021115f'\
+          '87264bf21c6cb8dbe6c7f067087cb702'\
+          '03010001a38201663082016230140603'\
+          '551d25040d300b06092b060104018237'\
+          '4f01301d0603551d0e04160414753d9c'\
+          'ab3265b73cafcc22f9b16ba1e38dcf8d'\
+          '6130450603551d11043e303ca43a3038'\
+          '311e301c060355040b13154d6963726f'\
+          '736f667420436f72706f726174696f6e'\
+          '311630140603550405130d3232393936'\
+          '312b343637353933301f0603551d2304'\
+          '183016801462fc43cda03ea4cb6712d2'\
+          '5bd955ac7bccb68a5f30530603551d1f'\
+          '044c304a3048a046a044864268747470'\
+          '3a2f2f7777772e6d6963726f736f6674'\
+          '2e636f6d2f706b696f70732f63726c2f'\
+          '4d6963436f724b454b4341323031315f'\
+          '323031312d30362d32342e63726c3060'\
+          '06082b06010505070101045430523050'\
+          '06082b06010505073002864468747470'\
+          '3a2f2f7777772e6d6963726f736f6674'\
+          '2e636f6d2f706b696f70732f63657274'\
+          '732f4d6963436f724b454b4341323031'\
+          '315f323031312d30362d32342e637274'\
+          '300c0603551d130101ff04023000300d'\
+          '06092a864886f70d01010b0500038201'\
+          '010069662ba664b30e7f47e3308e9cbf'\
+          '0f6c1250bd8eecd227c8a223c5ced041'\
+          'a35bef9d8aa41a31ceee757163a15d4f'\
+          'dc921518daa170873922e85324a6d2a7'\
+          'c2a74b483a488f7ef0262324568d6391'\
+          '4a9d66915ee9f6a4c1c0f07592689c16'\
+          '833a87006ce0f650b15314b0f4f3bb0b'\
+          '3d623db77a4d526e8dc1d9358f2a3a6a'\
+          '76661a41677f4d00a2979e8493e27106'\
+          'e3b5414d11dc91d0c0dbe83ea3b18895'\
+          '9b48889350293669c8bf9315b34d2aae'\
+          '0f64b78e36051c341cde7d77ec06aa47'\
+          'c6aa35f0bf6f36455fbc17c431b6048b'\
+          'c2003c88b48f04b352da0fbef900a2f2'\
+          '0262d867a54d4dd841605e1d4b0024d4'\
+          '6f6c79cd4fd5b3c022107ac921ed71e0'\
+          '8a59308205e8308203d0a00302010202'\
+          '0a610ad188000000000003300d06092a'\
+          '864886f70d01010b0500308191310b30'\
+          '09060355040613025553311330110603'\
+          '550408130a57617368696e67746f6e31'\
+          '10300e060355040713075265646d6f6e'\
+          '64311e301c060355040a13154d696372'\
+          '6f736f667420436f72706f726174696f'\
+          '6e313b3039060355040313324d696372'\
+          '6f736f667420436f72706f726174696f'\
+          '6e205468697264205061727479204d61'\
+          '726b6574706c61636520526f6f74301e'\
+          '170d3131303632343230343132395a17'\
+          '0d3236303632343230353132395a3081'\
+          '80310b30090603550406130255533113'\
+          '30110603550408130a57617368696e67'\
+          '746f6e3110300e060355040713075265'\
+          '646d6f6e64311e301c060355040a1315'\
+          '4d6963726f736f667420436f72706f72'\
+          '6174696f6e312a302806035504031321'\
+          '4d6963726f736f667420436f72706f72'\
+          '6174696f6e204b454b20434120323031'\
+          '3130820122300d06092a864886f70d01'\
+          '010105000382010f003082010a028201'\
+          '0100c4e8b58abfad5726b026c3eae7fb'\
+          '577a44025d070dda4ae5742ae6b00fec'\
+          '6debec7fb9e35a63327c11174f0ee30b'\
+          'a73815938ec6f5e084b19a9b2ce7f5b7'\
+          '91d609e1e2c004a8ac301cdf48f30650'\
+          '9a64a7517fc8854f8f2086cefe2fe19f'\
+          'ff82c0ede9cdcef4536a623a0b43b9e2'\
+          '25fdfe05f9d4c414ab11e223898d70b7'\
+          'a41d4decaee59cfa16c2d7c1cbd4e8c4'\
+          '2fe599ee248b03ec8df28beac34afb43'\
+          '11120b7eb547926cdce60489ebf53304'\
+          'eb10012a71e5f983133cff25092f6876'\
+          '46ffba4fbedcad712a58aafb0ed2793d'\
+          'e49b653bcc292a9ffc7259a2ebae92ef'\
+          'f6351380c602ece45fcc9d76cdef6392'\
+          'c1af79408479877fe352a8e89d7b0769'\
+          '8f150203010001a382014f3082014b30'\
+          '1006092b060104018237150104030201'\
+          '00301d0603551d0e0416041462fc43cd'\
+          'a03ea4cb6712d25bd955ac7bccb68a5f'\
+          '301906092b0601040182371402040c1e'\
+          '0a00530075006200430041300b060355'\
+          '1d0f040403020186300f0603551d1301'\
+          '01ff040530030101ff301f0603551d23'\
+          '04183016801445665243e17e5811bfd6'\
+          '4e9e2355083b3a226aa8305c0603551d'\
+          '1f045530533051a04fa04d864b687474'\
+          '703a2f2f63726c2e6d6963726f736f66'\
+          '742e636f6d2f706b692f63726c2f7072'\
+          '6f64756374732f4d6963436f72546869'\
+          '5061724d6172526f6f5f323031302d31'\
+          '302d30352e63726c306006082b060105'\
+          '0507010104543052305006082b060105'\
+          '050730028644687474703a2f2f777777'\
+          '2e6d6963726f736f66742e636f6d2f70'\
+          '6b692f63657274732f4d6963436f7254'\
+          '68695061724d6172526f6f5f32303130'\
+          '2d31302d30352e637274300d06092a86'\
+          '4886f70d01010b05000382020100d484'\
+          '88f514941802ca2a3cfb2a921c0cd7a0'\
+          'd1f1e85266a8eea2b5757a9000aa2da4'\
+          '765aea79b7b9376a517b1064f6e164f2'\
+          '0267bef7a81b78bdbace8858640cd657'\
+          'c819a35f05d6dbc6d069ce484b32b7eb'\
+          '5dd230f5c0f5b8ba7807a32bfe9bdb34'\
+          '5684ec82caae4125709c6be9fe900fd7'\
+          '961fe5e7941fb22a0c8d4bff2829107b'\
+          'f7d77ca5d176b905c879ed0f90929cc2'\
+          'fedf6f7e6c0f7bd4c145dd345196390f'\
+          'e55e56d8180596f407a642b3a077fd08'\
+          '19f27156cc9f8623a487cba6fd587ed4'\
+          '696715917e81f27f13e50d8b8a3c8784'\
+          'ebe3cebd43e5ad2d84938e6a2b5a7c44'\
+          'fa52aa81c82d1cbbe052df0011f89a3d'\
+          'c160b0e133b5a388d165190a1ae7ac7c'\
+          'a4c182874e38b12f0dc514876ffd8d2e'\
+          'bc39b6e7e6c3e0e4cd2784ef9442ef29'\
+          '8b9046413b811b67d8f9435965cb0dbc'\
+          'fd00924ff4753ba7a924fc50414079e0'\
+          '2d4f0a6a27766e52ed96697baf0ff787'\
+          '05d045c2ad5314811ffb3004aa373661'\
+          'da4a691b34d868edd602cf6c940cd3cf'\
+          '6c2279adb1f0bc03a24660a9c407c221'\
+          '82f1fdf2e8793260bfd8aca522144bca'\
+          'c1d84beb7d3f5735b2e64f75b4b06003'\
+          '2253ae91791dd69b411f15865470b2de'\
+          '0d350f7cb03472ba97603bf079eba2b2'\
+          '1c5da216b887c5e91bf6b597256f389f'\
+          'e391fa8a7998c3690eb7a31c200597f8'\
+          'ca14ae00d7c4f3c01410756b34a01bb5'\
+          '9960f35cb0c5574e36d23284bf9e3182'\
+          '01c4308201c002010130819830818031'\
+          '0b300906035504061302555331133011'\
+          '0603550408130a57617368696e67746f'\
+          '6e3110300e060355040713075265646d'\
+          '6f6e64311e301c060355040a13154d69'\
+          '63726f736f667420436f72706f726174'\
+          '696f6e312a3028060355040313214d69'\
+          '63726f736f667420436f72706f726174'\
+          '696f6e204b454b204341203230313102'\
+          '13330000002596d20c5c531200430000'\
+          '00000025300d06096086480165030402'\
+          '010500300d06092a864886f70d010101'\
+          '05000482010002fcf6d3fb1c3e7af2bf'\
+          'f3a028b0d2ddace519e9d3bf9eaccc0b'\
+          '89e69ba782e42a6b7b723cbca7f93130'\
+          'b79053db51f5c9e30b0607cb6144170a'\
+          '1e2053ba1edd1553c44cf694c094e594'\
+          'e904d341d157789acebbf327b52a9027'\
+          '113195403625a47137dc8d779414d3cf'\
+          '434d0077d61de393a960f1525bbb8c90'\
+          'b6db9ffa1763bffc50e9f89a33c8a58f'\
+          'c3af6a6174d18ee42b60b32ed0edf014'\
+          '124e0cb65943b573b72b9c36b837b686'\
+          'f1026874428c6b61cb6fec305fd51dde'\
+          '53b32ead7575d8a9b8de4079d6476b16'\
+          'db7d1b029ad59f76a1ed7b532d05e508'\
+          '70eb873cd86c843b19a9e2ae412ad0f1'\
+          'c768802626098dc8e1513529e6c7e062'\
+          '801e1ee7daa02616c4c14c509240aca9'\
+          '41f936934328cc280000000000003000'\
+          '0000bd9afa775903324dbd6028f4e78f'\
+          '784b80b4d96931bf0d02fd91a61e19d1'\
+          '4f1da452e66db2408ca8604d411f9265'\
+          '9f0abd9afa775903324dbd6028f4e78f'\
+          '784bf52f83a3fa9cfbd6920f722824db'\
+          'e4034534d25b8507246b3b957dac6e1b'\
+          'ce7abd9afa775903324dbd6028f4e78f'\
+          '784bc5d9d8a186e2c82d09afaa2a6f7f'\
+          '2e73870d3e64f72c4e08ef67796a840f'\
+          '0fbdbd9afa775903324dbd6028f4e78f'\
+          '784b1aec84b84b6c65a51220a9be7181'\
+          '965230210d62d6d33c48999c6b295a2b'\
+          '0a06bd9afa775903324dbd6028f4e78f'\
+          '784bc3a99a460da464a057c3586d83ce'\
+          'f5f4ae08b7103979ed8932742df0ed53'\
+          '0c66bd9afa775903324dbd6028f4e78f'\
+          '784b58fb941aef95a25943b3fb5f2510'\
+          'a0df3fe44c58c95e0ab80487297568ab'\
+          '9771bd9afa775903324dbd6028f4e78f'\
+          '784b5391c3a2fb112102a6aa1edc25ae'\
+          '77e19f5d6f09cd09eeb2509922bfcd59'\
+          '92eabd9afa775903324dbd6028f4e78f'\
+          '784bd626157e1d6a718bc124ab8da27c'\
+          'bb65072ca03a7b6b257dbdcbbd60f65e'\
+          'f3d1bd9afa775903324dbd6028f4e78f'\
+          '784bd063ec28f67eba53f1642dbf7dff'\
+          '33c6a32add869f6013fe162e2c32f1cb'\
+          'e56dbd9afa775903324dbd6028f4e78f'\
+          '784b29c6eb52b43c3aa18b2cd8ed6ea8'\
+          '607cef3cfae1bafe1165755cf2e61484'\
+          '4a44bd9afa775903324dbd6028f4e78f'\
+          '784b90fbe70e69d633408d3e170c6832'\
+          'dbb2d209e0272527dfb63d49d29572a6'\
+          'f44cbd9afa775903324dbd6028f4e78f'\
+          '784b106faceacfecfd4e303b74f480a0'\
+          '8098e2d0802b936f8ec774ce21f31686'\
+          '689cbd9afa775903324dbd6028f4e78f'\
+          '784b174e3a0b5b43c6a607bbd3404f05'\
+          '341e3dcf396267ce94f8b50e2e23a9da'\
+          '920cbd9afa775903324dbd6028f4e78f'\
+          '784b2b99cf26422e92fe365fbf4bc30d'\
+          '27086c9ee14b7a6fff44fb2f6b900169'\
+          '9939bd9afa775903324dbd6028f4e78f'\
+          '784b2e70916786a6f773511fa7181fab'\
+          '0f1d70b557c6322ea923b2a8d3b92b51'\
+          'af7dbd9afa775903324dbd6028f4e78f'\
+          '784b3fce9b9fdf3ef09d5452b0f95ee4'\
+          '81c2b7f06d743a737971558e70136ace'\
+          '3e73bd9afa775903324dbd6028f4e78f'\
+          '784b47cc086127e2069a86e03a6bef2c'\
+          'd410f8c55a6d6bdb362168c31b2ce32a'\
+          '5adfbd9afa775903324dbd6028f4e78f'\
+          '784b71f2906fd222497e54a34662ab24'\
+          '97fcc81020770ff51368e9e3d9bfcbfd'\
+          '6375bd9afa775903324dbd6028f4e78f'\
+          '784b82db3bceb4f60843ce9d97c3d187'\
+          'cd9b5941cd3de8100e586f2bda563757'\
+          '5f67bd9afa775903324dbd6028f4e78f'\
+          '784b8ad64859f195b5f58dafaa940b6a'\
+          '6167acd67a886e8f469364177221c559'\
+          '45b9bd9afa775903324dbd6028f4e78f'\
+          '784b8d8ea289cfe70a1c07ab7365cb28'\
+          'ee51edd33cf2506de888fbadd60ebf80'\
+          '481cbd9afa775903324dbd6028f4e78f'\
+          '784baeebae3151271273ed95aa2e6711'\
+          '39ed31a98567303a332298f83709a9d5'\
+          '5aa1bd9afa775903324dbd6028f4e78f'\
+          '784bc409bdac4775add8db92aa22b5b7'\
+          '18fb8c94a1462c1fe9a416b95d8a3388'\
+          'c2fcbd9afa775903324dbd6028f4e78f'\
+          '784bc617c1a8b1ee2a811c28b5a81b4c'\
+          '83d7c98b5b0c27281d610207ebe692c2'\
+          '967fbd9afa775903324dbd6028f4e78f'\
+          '784bc90f336617b8e7f983975413c997'\
+          'f10b73eb267fd8a10cb9e3bdbfc667ab'\
+          'db8bbd9afa775903324dbd6028f4e78f'\
+          '784b64575bd912789a2e14ad56f6341f'\
+          '52af6bf80cf94400785975e9f04e2d64'\
+          'd745bd9afa775903324dbd6028f4e78f'\
+          '784b45c7c8ae750acfbb48fc37527d64'\
+          '12dd644daed8913ccd8a24c94d856967'\
+          'df8ebd9afa775903324dbd6028f4e78f'\
+          '784b81d8fb4c9e2e7a8225656b4b8273'\
+          'b7cba4b03ef2e9eb20e0a0291624eca1'\
+          'ba86bd9afa775903324dbd6028f4e78f'\
+          '784bb92af298dc08049b78c77492d655'\
+          '1b710cd72aada3d77be54609e43278ef'\
+          '6e4dbd9afa775903324dbd6028f4e78f'\
+          '784be19dae83c02e6f281358d4ebd11d'\
+          '7723b4f5ea0e357907d5443decc5f93c'\
+          '1e9dbd9afa775903324dbd6028f4e78f'\
+          '784b39dbc2288ef44b5f95332cb777e3'\
+          '1103e840dba680634aa806f5c9b10006'\
+          '1802bd9afa775903324dbd6028f4e78f'\
+          '784b32f5940ca29dd812a2c145e6fc89'\
+          '646628ffcc7c7a42cae512337d8d29c4'\
+          '0bbdbd9afa775903324dbd6028f4e78f'\
+          '784b10d45fcba396aef3153ee8f6ecae'\
+          '58afe8476a280a2026fc71f6217dcf49'\
+          'ba2fbd9afa775903324dbd6028f4e78f'\
+          '784b4b8668a5d465bcdd9000aa8dfcff'\
+          '42044fcbd0aece32fc7011a83e9160e8'\
+          '9f09bd9afa775903324dbd6028f4e78f'\
+          '784b89f3d1f6e485c334cd059d0995e3'\
+          'cdfdc00571b1849854847a44dc5548e2'\
+          'dcfbbd9afa775903324dbd6028f4e78f'\
+          '784bc9ec350406f26e559affb4030de2'\
+          'ebde5435054c35a998605b8fcf04972d'\
+          '8d55bd9afa775903324dbd6028f4e78f'\
+          '784bb3e506340fbf6b5786973393079f'\
+          '24b66ba46507e35e911db0362a2acde9'\
+          '7049bd9afa775903324dbd6028f4e78f'\
+          '784b9f1863ed5717c394b42ef10a6607'\
+          'b144a65ba11fb6579df94b8eb2f0c4cd'\
+          '60c1bd9afa775903324dbd6028f4e78f'\
+          '784bdd59af56084406e38c63fbe0850f'\
+          '30a0cd1277462a2192590fb05bc259e6'\
+          '1273bd9afa775903324dbd6028f4e78f'\
+          '784bdbaf9e056d3d5b38b68553304abc'\
+          '88827ebc00f80cb9c7e197cdbc5822cd'\
+          '316cbd9afa775903324dbd6028f4e78f'\
+          '784b65f3c0a01b8402d362b9722e98f7'\
+          '5e5e991e6c186e934f7b2b2e6be6dec8'\
+          '00ecbd9afa775903324dbd6028f4e78f'\
+          '784b5b248e913d71853d3da5aedd8d9a'\
+          '4bc57a917126573817fb5fcb2d86a2f1'\
+          'c886bd9afa775903324dbd6028f4e78f'\
+          '784b2679650fe341f2cf1ea883460b35'\
+          '56aaaf77a70d6b8dc484c9301d1b746c'\
+          'f7b5bd9afa775903324dbd6028f4e78f'\
+          '784bbb1dd16d530008636f232303a7a8'\
+          '6f3dff969f848815c0574b12c2d787fe'\
+          'c93fbd9afa775903324dbd6028f4e78f'\
+          '784b0ce02100f67c7ef85f4eed368f02'\
+          'bf7092380a3c23ca91fd7f19430d94b0'\
+          '0c19bd9afa775903324dbd6028f4e78f'\
+          '784b95049f0e4137c790b0d2767195e5'\
+          '6f73807d123adcf8f6e7bf2d4d991d30'\
+          '5f89bd9afa775903324dbd6028f4e78f'\
+          '784b02e6216acaef6401401fa555ecbe'\
+          'd940b1a5f2569aed92956137ae58482e'\
+          'f1b7bd9afa775903324dbd6028f4e78f'\
+          '784b6efefe0b5b01478b7b944c10d3a8'\
+          'aca2cca4208888e2059f8a06cb5824d7'\
+          'bab0bd9afa775903324dbd6028f4e78f'\
+          '784b9d00ae4cd47a41c783dc48f342c0'\
+          '76c2c16f3413f4d2df50d181ca3bb5ad'\
+          '859dbd9afa775903324dbd6028f4e78f'\
+          '784bd8d4e6ddf6e42d74a6a536ea62fd'\
+          '1217e4290b145c9e5c3695a31b42efb5'\
+          'f5a4bd9afa775903324dbd6028f4e78f'\
+          '784bf277af4f9bdc918ae89fa35cc1b3'\
+          '4e34984c04ae9765322c3cb049574d36'\
+          '509cbd9afa775903324dbd6028f4e78f'\
+          '784b0dc24c75eb1aef56b9f13ab9de60'\
+          'e2eca1c4510034e290bbb36cf60a549b'\
+          '234cbd9afa775903324dbd6028f4e78f'\
+          '784b835881f2a5572d7059b5c8635018'\
+          '552892e945626f115fc9ca07acf7bde8'\
+          '57a4bd9afa775903324dbd6028f4e78f'\
+          '784bbadff5e4f0fea711701ca8fb22e4'\
+          'c43821e31e210cf52d1d4f74dd50f1d0'\
+          '39bcbd9afa775903324dbd6028f4e78f'\
+          '784bc452ab846073df5ace25cca64d6b'\
+          '7a09d906308a1a65eb5240e3c4ebcaa9'\
+          'cc0cbd9afa775903324dbd6028f4e78f'\
+          '784bf1863ec8b7f43f94ad14fb0b8b4a'\
+          '69497a8c65ecbc2a55e0bb420e772b8c'\
+          'dc91bd9afa775903324dbd6028f4e78f'\
+          '784b7bc9cb5463ce0f011fb5085eb8ba'\
+          '77d1acd283c43f4a57603cc113f22ceb'\
+          'c579bd9afa775903324dbd6028f4e78f'\
+          '784be800395dbe0e045781e8005178b4'\
+          'baf5a257f06e159121a67c595f6ae225'\
+          '06fdbd9afa775903324dbd6028f4e78f'\
+          '784b1cb4dccaf2c812cfa7b4938e1371'\
+          'fe2b96910fe407216fd95428672d6c7e'\
+          '7316bd9afa775903324dbd6028f4e78f'\
+          '784b3ece27cbb3ec4438cce523b927c4'\
+          'f05fdc5c593a3766db984c5e437a3ff6'\
+          'a16bbd9afa775903324dbd6028f4e78f'\
+          '784b68ee4632c7be1c66c83e89dd93ea'\
+          'ee1294159abf45b4c2c72d7dc7499aa2'\
+          'a043bd9afa775903324dbd6028f4e78f'\
+          '784be24b315a551671483d8b9073b32d'\
+          'e11b4de1eb2eab211afd2d9c319ff55e'\
+          '08d0bd9afa775903324dbd6028f4e78f'\
+          '784be7c20b3ab481ec885501eca52937'\
+          '81d84b5a1ac24f88266b5270e7ecb4aa'\
+          '2538bd9afa775903324dbd6028f4e78f'\
+          '784bdccc3ce1c00ee4b0b10487d372a0'\
+          'fa47f5c26f57a359be7b27801e144eac'\
+          'bac4bd9afa775903324dbd6028f4e78f'\
+          '784b0257ff710f2a16e489b37493c076'\
+          '04a7cda96129d8a8fd68d2b6af633904'\
+          '315dbd9afa775903324dbd6028f4e78f'\
+          '784b3a91f0f9e5287fa2994c7d930b2c'\
+          '1a5ee14ce8e1c8304ae495adc58cc445'\
+          '3c0cbd9afa775903324dbd6028f4e78f'\
+          '784b495300790e6c9bf2510daba59db3'\
+          'd57e9d2b85d7d7640434ec75baa3851c'\
+          '74e5bd9afa775903324dbd6028f4e78f'\
+          '784b81a8b2c9751aeb1faba7dbde5ee9'\
+          '691dc0eaee2a31c38b1491a8146756a6'\
+          'b770bd9afa775903324dbd6028f4e78f'\
+          '784b8e53efdc15f852cee5a6e92931bc'\
+          '42e6163cd30ff649cca7e87252c3a459'\
+          '960bbd9afa775903324dbd6028f4e78f'\
+          '784b992d359aa7a5f789d268b94c11b9'\
+          '485a6b1ce64362b0edb4441ccc187c39'\
+          '647bbd9afa775903324dbd6028f4e78f'\
+          '784b9fa4d5023fd43ecaff4200ba7e8d'\
+          '4353259d2b7e5e72b5096eff8027d66d'\
+          '1043bd9afa775903324dbd6028f4e78f'\
+          '784bd372c0d0f4fdc9f52e9e1f23fc56'\
+          'ee72414a17f350d0cea6c26a35a6c321'\
+          '7a13bd9afa775903324dbd6028f4e78f'\
+          '784b5c5805196a85e93789457017d4f9'\
+          'eb6828b97c41cb9ba6d3dc1fcc115f52'\
+          '7a55bd9afa775903324dbd6028f4e78f'\
+          '784b03f64a29948a88beffdb035e0b09'\
+          'a7370ccf0cd9ce6bcf8e640c2107318f'\
+          'ab87bd9afa775903324dbd6028f4e78f'\
+          '784b05d87e15713454616f5b0ed7849a'\
+          'b5c1712ab84f02349478ec2a38f970c0'\
+          '1489bd9afa775903324dbd6028f4e78f'\
+          '784b06eb5badd26e4fae65f9a42358de'\
+          'ef7c18e52cc05fbb7fc76776e69d1b98'\
+          '2a14bd9afa775903324dbd6028f4e78f'\
+          '784b08bb2289e9e91b4d20ff3f156251'\
+          '6ab07e979b2c6cefe2ab70c6dfc1199f'\
+          '8da5bd9afa775903324dbd6028f4e78f'\
+          '784b0928f0408bf725e61d67d87138a8'\
+          'eebc52962d2847f16e3587163b160e41'\
+          'b6adbd9afa775903324dbd6028f4e78f'\
+          '784b09f98aa90f85198c0d73f89ba77e'\
+          '87ec6f596c491350fb8f8bba80a62fbb'\
+          '914bbd9afa775903324dbd6028f4e78f'\
+          '784b0a75ea0b1d70eaa4d3f374246db5'\
+          '4fc7b43e7f596a353309b9c36b4fd975'\
+          '725ebd9afa775903324dbd6028f4e78f'\
+          '784b0c51d7906fc4931149765da88682'\
+          '426b2cfe9e6aa4f27253eab400111432'\
+          'e3a7bd9afa775903324dbd6028f4e78f'\
+          '784b0fa3a29ad05130d7fe5bf4d25965'\
+          '63cded1d874096aacc181069932a2e49'\
+          '519abd9afa775903324dbd6028f4e78f'\
+          '784b147730b42f11fe493fe902b6251e'\
+          '97cd2b6f34d36af59330f11d02a42f94'\
+          '0d07bd9afa775903324dbd6028f4e78f'\
+          '784b148fe18f715a9fcfe1a444ce0fff'\
+          '7f85869eb422330dc04b314c0f295d6d'\
+          'a79ebd9afa775903324dbd6028f4e78f'\
+          '784b1b909115a8d473e51328a87823bd'\
+          '621ce655dfae54fa2bfa72fdc0298611'\
+          'd6b8bd9afa775903324dbd6028f4e78f'\
+          '784b1d8b58c1fdb8da8b33ccee1e5f97'\
+          '3af734d90ef317e33f5db1573c2ba088'\
+          'a80cbd9afa775903324dbd6028f4e78f'\
+          '784b1f179186efdf5ef2de018245ba0e'\
+          'ae8134868601ba0d35ff3d9865c1537c'\
+          'ed93bd9afa775903324dbd6028f4e78f'\
+          '784b270c84b29d86f16312b06aaae4eb'\
+          'b8dff8de7d080d825b8839ff1766274e'\
+          'ff47bd9afa775903324dbd6028f4e78f'\
+          '784b29cca4544ea330d61591c784695c'\
+          '149c6b040022ac7b5b89cbd72800d108'\
+          '40eabd9afa775903324dbd6028f4e78f'\
+          '784b2b2298eaa26b9dc4a4558ae92e7b'\
+          'b0e4f85cf34bf848fdf636c0c11fbec4'\
+          '9897bd9afa775903324dbd6028f4e78f'\
+          '784b2dcf8e8d817023d1e8e1451a3d68'\
+          'd6ec30d9bed94cbcb87f19ddc1cc0116'\
+          'ac1abd9afa775903324dbd6028f4e78f'\
+          '784b311a2ac55b50c09b30b3cc93b994'\
+          'a119153eeeac54ef892fc447bbbd9610'\
+          '1aa1bd9afa775903324dbd6028f4e78f'\
+          '784b32ad3296829bc46dcfac5eddcb9d'\
+          'bf2c1eed5c11f83b2210cf9c6e60c798'\
+          'd4a7bd9afa775903324dbd6028f4e78f'\
+          '784b340da32b58331c8e2b561baf300c'\
+          'a9dfd6b91cd2270ee0e2a34958b1c625'\
+          '9e85bd9afa775903324dbd6028f4e78f'\
+          '784b362ed31d20b1e00392281231a96f'\
+          '0a0acfde02618953e695c9ef2eb0bac3'\
+          '7550bd9afa775903324dbd6028f4e78f'\
+          '784b367a31e5838831ad2c074647886a'\
+          '6cdff217e6b1ba910bff85dc7a87ae9b'\
+          '5e98bd9afa775903324dbd6028f4e78f'\
+          '784b3765d769c05bf98b427b3511903b'\
+          '2137e8a49b6f859d0af159ed6a86786a'\
+          'a634bd9afa775903324dbd6028f4e78f'\
+          '784b386d695cdf2d4576e01bcaccf5e4'\
+          '9e78da51af9955c0b8fa7606373b0079'\
+          '94b3bd9afa775903324dbd6028f4e78f'\
+          '784b3a4f74beafae2b9383ad8215d233'\
+          'a6cf3d057fb3c7e213e897beef4255fa'\
+          'ee9dbd9afa775903324dbd6028f4e78f'\
+          '784b3ae76c45ca70e9180c1559981f42'\
+          '622dd251bca1fbe6b901c52ec11673b0'\
+          '3514bd9afa775903324dbd6028f4e78f'\
+          '784b3be8e7eb348d35c1928f19c76984'\
+          '6788991641d1f6cf09514ca10269934f'\
+          '7359bd9afa775903324dbd6028f4e78f'\
+          '784b3e3926f0b8a15ad5a14167bb647a'\
+          '843c3d4321e35dbc44dce8c837417f2d'\
+          '28b0bd9afa775903324dbd6028f4e78f'\
+          '784b400ac66d59b7b094a9e30b01a6bd'\
+          '013aff1d30570f83e7592f421dbe5ff4'\
+          'ba8fbd9afa775903324dbd6028f4e78f'\
+          '784b4185821f6dab5ba8347b78a22b5f'\
+          '9a0a7570ca5c93a74d478a793d83bac4'\
+          '9805bd9afa775903324dbd6028f4e78f'\
+          '784b41d1eeb177c0324e17dd6557f384'\
+          'e532de0cf51a019a446b01efb351bc25'\
+          '9d77bd9afa775903324dbd6028f4e78f'\
+          '784b45876b4dd861d45b3a9480077402'\
+          '7a5db45a48b2a729410908b6412f8a87'\
+          'e95dbd9afa775903324dbd6028f4e78f'\
+          '784b4667bf250cd7c1a06b8474c613cd'\
+          'b1df648a7f58736fbf57d05d6f755dab'\
+          '67f4bd9afa775903324dbd6028f4e78f'\
+          '784b47ff1b63b140b6fc04ed79131331'\
+          'e651da5b2e2f170f5daef4153dc2fbc5'\
+          '32b1bd9afa775903324dbd6028f4e78f'\
+          '784b57e6913afacc5222bd76cdaf31f8'\
+          'ed88895464255374ef097a82d7f59ad3'\
+          '9596bd9afa775903324dbd6028f4e78f'\
+          '784b5890fa227121c76d90ed9e63c87e'\
+          '3a6533eea0f6f0a1a23f1fc445139bc6'\
+          'bcdfbd9afa775903324dbd6028f4e78f'\
+          '784b5d1e9acbbb4a7d024b6852df0259'\
+          '70e2ced66ff622ee019cd0ed7fd841cc'\
+          'ad02bd9afa775903324dbd6028f4e78f'\
+          '784b61cec4a377bf5902c0feaee37034'\
+          'bf97d5bc6e0615e23a1cdfbae6e3f5fb'\
+          '3cfdbd9afa775903324dbd6028f4e78f'\
+          '784b631f0857b41845362c90c6980b4b'\
+          '10c4b628e23dbe24b6e96c128ae3dcb0'\
+          'd5acbd9afa775903324dbd6028f4e78f'\
+          '784b65b2e7cc18d903c331df1152df73'\
+          'ca0dc932d29f17997481c56f3087b2dd'\
+          '3147bd9afa775903324dbd6028f4e78f'\
+          '784b66aa13a0edc219384d9c425d3927'\
+          'e6ed4a5d1940c5e7cd4dac88f5770103'\
+          'f2f1bd9afa775903324dbd6028f4e78f'\
+          '784b6873d2f61c29bd52e954eeff5977'\
+          'aa8367439997811a62ff212c948133c6'\
+          '8d97bd9afa775903324dbd6028f4e78f'\
+          '784b6dbbead23e8c860cf8b47f74fbfc'\
+          'a5204de3e28b881313bb1d1eccdc4747'\
+          '934ebd9afa775903324dbd6028f4e78f'\
+          '784b6dead13257dfc3ccc6a4b37016ba'\
+          '91755fe9e0ec1f415030942e5abc47f0'\
+          '7c88bd9afa775903324dbd6028f4e78f'\
+          '784b70a1450af2ad395569ad0afeb1d9'\
+          'c125324ee90aec39c258880134d4892d'\
+          '51abbd9afa775903324dbd6028f4e78f'\
+          '784b72c26f827ceb92989798961bc6ae'\
+          '748d141e05d3ebcfb65d9041b266c920'\
+          'be82bd9afa775903324dbd6028f4e78f'\
+          '784b781764102188a8b4b173d4a8f5ec'\
+          '94d828647156097f99357a581e624b37'\
+          '7509bd9afa775903324dbd6028f4e78f'\
+          '784b788383a4c733bb87d2bf51673dc7'\
+          '3e92df15ab7d51dc715627ae77686d8d'\
+          '23bcbd9afa775903324dbd6028f4e78f'\
+          '784b78b4edcaabc8d9093e20e217802c'\
+          'aeb4f09e23a3394c4acc6e87e8f35395'\
+          '310fbd9afa775903324dbd6028f4e78f'\
+          '784b7f49ccb309323b1c7ab11c93c955'\
+          'b8c744f0a2b75c311f495e1890607050'\
+          '0027bd9afa775903324dbd6028f4e78f'\
+          '784b82acba48d5236ccff7659afc1459'\
+          '4dee902bd6082ef1a30a0b9b508628cf'\
+          '34f4bd9afa775903324dbd6028f4e78f'\
+          '784b894d7839368f3298cc915ae8742e'\
+          'f330d7a26699f459478cf22c2b6bb285'\
+          '0166bd9afa775903324dbd6028f4e78f'\
+          '784b8c0349d708571ae5aa21c1136348'\
+          '2332073297d868f29058916529efc520'\
+          'ef70bd9afa775903324dbd6028f4e78f'\
+          '784b8d93d60c691959651476e5dc464b'\
+          'e12a85fa5280b6f524d4a1c3fcc9d048'\
+          'cfadbd9afa775903324dbd6028f4e78f'\
+          '784b9063f5fbc5e57ab6de6c94881460'\
+          '20e172b176d5ab57d4c89f0f600e17fe'\
+          '2de2bd9afa775903324dbd6028f4e78f'\
+          '784b91656aa4ef493b3824a0b7263248'\
+          'e4e2d657a5c8488d880cb65b01730932'\
+          'fb53bd9afa775903324dbd6028f4e78f'\
+          '784b91971c1497bf8e5bc68439acc48d'\
+          '63ebb8faabfd764dcbe82f3ba977cac8'\
+          'cf6abd9afa775903324dbd6028f4e78f'\
+          '784b947078f97c6196968c3ae99c9a5d'\
+          '58667e86882cf6c8c9d58967a496bb7a'\
+          'f43cbd9afa775903324dbd6028f4e78f'\
+          '784b96e4509450d380dac362ff8e2955'\
+          '89128a1f1ce55885d20d89c27ba2a9d0'\
+          '0909bd9afa775903324dbd6028f4e78f'\
+          '784b9783b5ee4492e9e891c655f1f480'\
+          '35959dad453c0e623af0fe7bf2c0a578'\
+          '85e3bd9afa775903324dbd6028f4e78f'\
+          '784b97a51a094444620df38cd8c6512c'\
+          'ac909a75fd437ae1e4d2292980766123'\
+          '8127bd9afa775903324dbd6028f4e78f'\
+          '784b97a8c5ba11d61fefbb5d6a05da4e'\
+          '15ba472dc4c6cd4972fc1a035de32134'\
+          '2fe4bd9afa775903324dbd6028f4e78f'\
+          '784b992820e6ec8c41daae4bd8ab48f5'\
+          '8268e943a670d35ca5e2bdcd3e7c4c94'\
+          'a072bd9afa775903324dbd6028f4e78f'\
+          '784b9954a1a99d55e8b189ab1bca414b'\
+          '91f6a017191f6c40a86b6f3ef368dd86'\
+          '0031bd9afa775903324dbd6028f4e78f'\
+          '784b9baf4f76d76bf5d6a897bfbd5f42'\
+          '9ba14d04e08b48c3ee8d76930a828fff'\
+          '3891bd9afa775903324dbd6028f4e78f'\
+          '784b9c259fcb301d5fc7397ed5759963'\
+          'e0ef6b36e42057fd73046e6bd08b149f'\
+          '751cbd9afa775903324dbd6028f4e78f'\
+          '784b9dd2dcb72f5e741627f2e9e03ab1'\
+          '8503a3403cf6a904a479a4db05d97e22'\
+          '50a9bd9afa775903324dbd6028f4e78f'\
+          '784b9ed33f0fbc180bc032f8909ca2c4'\
+          'ab3418edc33a45a50d2521a3b5876aa3'\
+          'ea2cbd9afa775903324dbd6028f4e78f'\
+          '784ba4d978b7c4bda15435d508f8b959'\
+          '2ec2a5adfb12ea7bad146a35ecb53094'\
+          '642fbd9afa775903324dbd6028f4e78f'\
+          '784ba924d3cad6da42b7399b96a095a0'\
+          '6f18f6b1aba5b873b0d5f3a0ee2173b4'\
+          '8b6cbd9afa775903324dbd6028f4e78f'\
+          '784bad3be589c0474e97de5bb2bf3353'\
+          '4948b76bb80376dfdc58b1fed767b5a1'\
+          '5bfcbd9afa775903324dbd6028f4e78f'\
+          '784bb8d6b5e7857b45830e017c7be3d8'\
+          '56adeb97c7290eb0665a3d473a4beb51'\
+          'dcf3bd9afa775903324dbd6028f4e78f'\
+          '784bb93f0699598f8b20fa0dacc12cfc'\
+          'fc1f2568793f6e779e04795e6d7c2253'\
+          '0f75bd9afa775903324dbd6028f4e78f'\
+          '784bbb01da0333bb639c7e1c806db056'\
+          '1dc98a5316f22fef1090fb8d0be46dae'\
+          '499abd9afa775903324dbd6028f4e78f'\
+          '784bbc75f910ff320f5cb5999e66bbd4'\
+          '034f4ae537a42fdfef35161c5348e366'\
+          'e216bd9afa775903324dbd6028f4e78f'\
+          '784bbdd01126e9d85710d3fe75af1cc1'\
+          '702a29f081b4f6fdf6a2b2135c0297a9'\
+          'cec5bd9afa775903324dbd6028f4e78f'\
+          '784bbe435df7cd28aa2a7c8db4fc8173'\
+          '475b77e5abf392f76b7c76fa3f698cb7'\
+          '1a9abd9afa775903324dbd6028f4e78f'\
+          '784bbef7663be5ea4dbfd8686e24701e'\
+          '036f4c03fb7fcd67a6c566ed94ce09c4'\
+          '4470bd9afa775903324dbd6028f4e78f'\
+          '784bc2469759c1947e14f4b65f72a9f5'\
+          'b3af8b6f6e727b68bb0d91385cbf4217'\
+          '6a8abd9afa775903324dbd6028f4e78f'\
+          '784bc3505bf3ec10a51dace417c76b8b'\
+          'd10939a065d1f34e75b8a3065ee31cc6'\
+          '9b96bd9afa775903324dbd6028f4e78f'\
+          '784bc42d11c70ccf5e8cf3fb91fdf21d'\
+          '884021ad836ca68adf2cbb7995c10bf5'\
+          '88d4bd9afa775903324dbd6028f4e78f'\
+          '784bc69d64a5b839e41ba16742527e17'\
+          '056a18ce3c276fd26e34901a1bc7d0e3'\
+          '2219bd9afa775903324dbd6028f4e78f'\
+          '784bcb340011afeb0d74c4a588b36eba'\
+          'a441961608e8d2fa80dca8c13872c850'\
+          '796bbd9afa775903324dbd6028f4e78f'\
+          '784bcc8eec6eb9212cbf897a5ace7e8a'\
+          'beece1079f1a6def0a789591cb1547f1'\
+          'f084bd9afa775903324dbd6028f4e78f'\
+          '784bcf13a243c1cd2e3c8ceb7e701003'\
+          '87cecbfb830525bbf9d0b70c79adf3e8'\
+          '4128bd9afa775903324dbd6028f4e78f'\
+          '784bd89a11d16c488dd4fbbc541d4b07'\
+          'faf8670d660994488fe54b1fbff2704e'\
+          '4288bd9afa775903324dbd6028f4e78f'\
+          '784bd9668ab52785086786c134b5e4bd'\
+          'dbf72452813b6973229ab92aa1a54d20'\
+          '1bf5bd9afa775903324dbd6028f4e78f'\
+          '784bda3560fd0c32b54c83d4f2ff8690'\
+          '03d2089369acf2c89608f8afa7436bfa'\
+          '4655bd9afa775903324dbd6028f4e78f'\
+          '784bdf02aab48387a9e1d4c65228089c'\
+          'b6abe196c8f4b396c7e4bbc395de1369'\
+          '77f6bd9afa775903324dbd6028f4e78f'\
+          '784bdf91ac85a94fcd0cfb8155bd7cbe'\
+          'faac14b8c5ee7397fe2cc85984459e2e'\
+          'a14ebd9afa775903324dbd6028f4e78f'\
+          '784be051b788ecbaeda53046c70e6af6'\
+          '058f95222c046157b8c4c1b9c2cfc65f'\
+          '46e5bd9afa775903324dbd6028f4e78f'\
+          '784be36dfc719d2114c2e39aea88849e'\
+          '2845ab326f6f7fe74e0e539b7e54d81f'\
+          '3631bd9afa775903324dbd6028f4e78f'\
+          '784be39891f48bbcc593b8ed86ce82ce'\
+          '666fc1145b9fcbfd2b07bad0a89bf4c7'\
+          'bfbfbd9afa775903324dbd6028f4e78f'\
+          '784be6856f137f79992dc94fa2f43297'\
+          'ec32d2d9a76f7be66114c6a13efc3bcd'\
+          'f5c8bd9afa775903324dbd6028f4e78f'\
+          '784beaff8c85c208ba4d5b6b8046f5d6'\
+          '081747d779bada7768e649d047ff9b1f'\
+          '660cbd9afa775903324dbd6028f4e78f'\
+          '784bee83a566496109a74f6ac6e410df'\
+          '00bb29a290e0021516ae3b8a23288e7e'\
+          '2e72bd9afa775903324dbd6028f4e78f'\
+          '784beed7e0eff2ed559e2a79ee361f99'\
+          '62af3b1e999131e30bb7fd07546fae0a'\
+          '7267bd9afa775903324dbd6028f4e78f'\
+          '784bf1b4f6513b0d544a688d13adc291'\
+          'efa8c59f420ca5dcb23e0b5a06fa7e0d'\
+          '083dbd9afa775903324dbd6028f4e78f'\
+          '784bf2a16d35b554694187a70d40ca68'\
+          '2959f4f35c2ce0eab8fd64f7ac2ab9f5'\
+          'c24abd9afa775903324dbd6028f4e78f'\
+          '784bf31fd461c5e99510403fc97c1da2'\
+          'd8a9cbe270597d32badf8fd66b77495f'\
+          '8d94bd9afa775903324dbd6028f4e78f'\
+          '784bf48e6dd8718e953b60a24f2cbea6'\
+          '0a9521deae67db25425b7d3ace3c517d'\
+          'd9b7bd9afa775903324dbd6028f4e78f'\
+          '784bc805603c4fa038776e42f263c604'\
+          'b49d96840322e1922d5606a9b0bbb5bf'\
+          'fe6fbd9afa775903324dbd6028f4e78f'\
+          '784b1f16078cce009df62edb9e7170e6'\
+          '6caae670bce71b8f92d38280c56aa372'\
+          '031dbd9afa775903324dbd6028f4e78f'\
+          '784b37a480374daf6202ce790c318a2b'\
+          'b8aa3797311261160a8e30558b7dea78'\
+          'c7a6bd9afa775903324dbd6028f4e78f'\
+          '784b408b8b3df5abb043521a49352502'\
+          '3175ab1261b1de21064d6bf247ce1421'\
+          '53b9bd9afa775903324dbd6028f4e78f'\
+          '784b540801dd345dc1c33ef431b35bf4'\
+          'c0e68bd319b577b9abe1a9cff1cbc39f'\
+          '548fbd9afa775903324dbd6028f4e78f'\
+          '784b040b3bc339e9b6f9acd828b88f34'\
+          '82a5c3f64e67e5a714ba1da8a70453b3'\
+          '4af6bd9afa775903324dbd6028f4e78f'\
+          '784b1142a0cc7c9004dff64c5948484d'\
+          '6a7ec3514e176f5ca6bdeed7a093940b'\
+          '93ccbd9afa775903324dbd6028f4e78f'\
+          '784b288878f12e8b9c6ccbf601c73d5f'\
+          '4e985cac0ff3fcb0c24e4414912b3eb9'\
+          '1f15bd9afa775903324dbd6028f4e78f'\
+          '784b2ea4cb6a1f1eb1d3dce82d54fde2'\
+          '6ded243ba3e18de7c6d211902a594fe5'\
+          '6788bd9afa775903324dbd6028f4e78f'\
+          '784b40d6cae02973789080cf4c3a9ad1'\
+          '1b5a0a4d8bba4438ab96e276cc784454'\
+          'dee7bd9afa775903324dbd6028f4e78f'\
+          '784b4f0214fce4fa8897d0c80a46d6da'\
+          'b4124726d136fc2492efd01bfedfa388'\
+          '7a9cbd9afa775903324dbd6028f4e78f'\
+          '784b5c2afe34bd8a7aebbb439c251dfb'\
+          '6a424f00e535ac4df61ec19745b6f10e'\
+          '893abd9afa775903324dbd6028f4e78f'\
+          '784b99d7ada0d67e5233108dbd76702f'\
+          '4b168087cfc4ec65494d6ca8aba858fe'\
+          'badabd9afa775903324dbd6028f4e78f'\
+          '784ba608a87f51bdf7532b4b80fa95ea'\
+          'dfdf1bf8b0cbb58a7d3939c9f11c12e7'\
+          '1c85bd9afa775903324dbd6028f4e78f'\
+          '784bbdd4086c019f5d388453c6d93475'\
+          'd39a576572baff75612c321b46a35a53'\
+          '29b1bd9afa775903324dbd6028f4e78f'\
+          '784bcb994b400590b66cbf55fc663555'\
+          'caf0d4f1ce267464d0452c2361e05ee1'\
+          'cd50bd9afa775903324dbd6028f4e78f'\
+          '784bd6ee8db782e36caffb4d9f820790'\
+          '0487de930aabcc1d196fa455fbfd6f37'\
+          '273dbd9afa775903324dbd6028f4e78f'\
+          '784bdda0121dcf167db1e2622d10f454'\
+          '701837ac6af304a03ec06b3027904988'\
+          'c56bbd9afa775903324dbd6028f4e78f'\
+          '784be42572afac720f5d4a1c7aaaf802'\
+          'f094daceb682f4e92783b2bb3fa00862'\
+          'af7fbd9afa775903324dbd6028f4e78f'\
+          '784be6236dc1ee074c077c7a1c9b3965'\
+          '947430847be125f7aeb71d91a128133a'\
+          'ea7fbd9afa775903324dbd6028f4e78f'\
+          '784bef87be89a413657de8721498552c'\
+          'f9e0f3c1f71bc62dfa63b9f25bbc66e8'\
+          '6494bd9afa775903324dbd6028f4e78f'\
+          '784bf5e892dd6ec4c2defa4a495c0921'\
+          '9b621379b64da3d1b2e34adf4b5f1102'\
+          'bd39bd9afa775903324dbd6028f4e78f'\
+          '784bd4241190cd5a369d8c344c660e24'\
+          'f3027fb8e7064fab33770e93fa765ffb'\
+          '152ebd9afa775903324dbd6028f4e78f'\
+          '784b23142e14424fb3ff4efc75d00b63'\
+          '867727841aba5005149070ee2417df8a'\
+          'b799bd9afa775903324dbd6028f4e78f'\
+          '784b91721aa76266b5bb2f8009f11885'\
+          '10a36e54afd56e967387ea7d0b114d78'\
+          '2089bd9afa775903324dbd6028f4e78f'\
+          '784bdc8aff7faa9d1a00a3e32eefbf89'\
+          '9b3059cbb313a48b82fa9c8d931fd58f'\
+          'b69dbd9afa775903324dbd6028f4e78f'\
+          '784b9959ed4e05e548b59f219308a455'\
+          '63ea85bb224c1ad96dec0e96c0e71ffc'\
+          'cd81bd9afa775903324dbd6028f4e78f'\
+          '784b47b31a1c7867644b2ee8093b2d5f'\
+          'be21e21f77c1617a2c08812f57ace085'\
+          '0e9fbd9afa775903324dbd6028f4e78f'\
+          '784bfabc379df395e6f52472b44fa508'\
+          '2f9f0e0da480f05198c66814b7055b03'\
+          'f446bd9afa775903324dbd6028f4e78f'\
+          '784be37ff3fc0eff20bfc1c060a4bf56'\
+          '885e1efd55a8e9ce3c5f4869444cacff'\
+          'ad0bbd9afa775903324dbd6028f4e78f'\
+          '784b4cdae3920a512c9c052a8b4aba90'\
+          '96969b0a0197b614031e4c64a5d898cb'\
+          '09b9bd9afa775903324dbd6028f4e78f'\
+          '784b5b89f1aa2435a03d18d9b203d17f'\
+          'b4fba4f8f5076cf1f9b8d6d9b8262222'\
+          '35c1bd9afa775903324dbd6028f4e78f'\
+          '784b007f4c95125713b112093e21663e'\
+          '2d23e3c1ae9ce4b5de0d58a297332336'\
+          'a2d8bd9afa775903324dbd6028f4e78f'\
+          '784be060da09561ae00dcfb1769d6e8e'\
+          '846868a1e99a54b14aa5d0689f2840ce'\
+          'c6dfbd9afa775903324dbd6028f4e78f'\
+          '784b48f4584de1c5ec650c25e6c62363'\
+          '5ce101bd82617fc400d4150f0aee2355'\
+          'b4cabd9afa775903324dbd6028f4e78f'\
+          '784baf79b14064601bc0987d4747af1e'\
+          '914a228c05d622ceda03b7a4f67014fe'\
+          'e767bd9afa775903324dbd6028f4e78f'\
+          '784bc3d65e174d47d3772cb431ea599b'\
+          'ba76b8670bfaa51081895796432e2ef6'\
+          '461fbd9afa775903324dbd6028f4e78f'\
+          '784b1e918f170a796b4b0b1400bb9bda'\
+          'e75be1cf86705c2d0fc8fb9dd0c5016b'\
+          '933bbd9afa775903324dbd6028f4e78f'\
+          '784b66d0803e2550d9e790829ae1b5f8'\
+          '1547cc9bfbe69b51817068ecb5dabb7a'\
+          '89fcbd9afa775903324dbd6028f4e78f'\
+          '784b284153e7d04a9f187e5c3dbfe17b'\
+          '2672ad2fbdd119f27bec789417b79198'\
+          '53ecbd9afa775903324dbd6028f4e78f'\
+          '784bedd2cb55726e10abedec9de8ca5d'\
+          'ed289ad793ab3b6919d163c875fec120'\
+          '9cd5bd9afa775903324dbd6028f4e78f'\
+          '784b90aec5c4995674a849c1d1384463'\
+          'f3b02b5aa625a5c320fc4fe7d9bb58a6'\
+          '2398'
+
 
 def sha256_esl_builder(initList: []):
     """
@@ -948,3 +1812,17 @@ def test_EfiSignatureDatabase_Sort_and_Deduplication(self):
 
                 self.assertEqual(output_dupes_esd.GetBytes(), ExpectedDupesEsd.GetBytes())
                 self.assertEqual(output_canonical_esd.GetBytes(), ExpectedCanonicalEsd.GetBytes())
+
+    def test_EFiVariableAuthentication2_load_from_file(self):
+        # translate the DBXFILE to a ByteIo stream
+        DbxIo = io.BytesIO(bytes.fromhex(DBXFILE))
+
+        # Use EFiVariableAuthentication2 to decode the DBX file
+        EfiAuthVar = EFiVariableAuthentication2(decodefs=DbxIo)
+
+        # Write the decoded Dbx File back into a ByteIo stream
+        Output = io.BytesIO()
+        EfiAuthVar.Write(Output)
+
+        # Assert if the Decoded version does not match the original
+        self.assertEqual(Output.getvalue(), DbxIo.getvalue())