P1394 Mail Archive: P1394> T2I Recovery Enhancement Proposal Document (Was Re: MAX_?2?_DATA_SIZE)

P1394 Mail Archive: P1394> T2I Recovery Enhancement Proposal Document (Was Re: MAX_?2?_DATA_SIZE)

P1394> T2I Recovery Enhancement Proposal Document (Was Re: MAX_?2?_DATA_SIZE)

Akihiro Shimura (shimura@pure.cpdc.canon.co.jp)
Thu, 13 Aug 1998 19:01:03 +0900 (JST)

--VGh1LCAxMyBBdWcgMTk5OCAxOTowMDo1OCArMDkwMA==
Content-Transfer-Encoding: 7bit
Content-Type: text/plain

Hello, All,

I've made a recovery enhancement proposal document for
TRANSPORT_T2I_DATA command and its parameter to clarify the model.
This document also contains brief example usage.

Ueda-san from Canon will explain this model at Toronto meeting on
my behalf, too.

Please find attached document.

Regards,

Akihiro Shimura

On Fri, 31 Jul 1998 14:20:20 +0900 (JST)
Akihiro Shimura <shimura@pure.cpdc.canon.co.jp> wrote:

> Thank you for the explanation.
>
> I am now a little clear on this topic (, I hope).
>
> Originally, it was very questionable for me that the target must
> resend the "entire" buffer though the target is sending data over
> very reliable (acknowledged) 1394 transactions.
>
> If the initiator can keep the contents of buffer, the target only
> needs to resend outstanding transaction(s).
> I thought this avoids redundant re-transmission on the wire while
> allowing utilization of buffer beyond the target resource.
>
> Whether the initiator keeps the contents of buffer or not depends on
> the underlying implementation on the initiator (i.e. interpretation
> on the buffer's "direction" bit set to one).
>
> So I would like to propose an enhancement to the recovery model based
> on the "MAX_T2I_DATA_SIZE" to take advantage of shared memory model
> while keeping independence of implementations.
>
> The enhancement is based on negotiated MAX_T2I_DATA_SIZE reflecting
> initiator's preference.
>
> The definition of MAX_T2I_DATA_SIZE will look like following;
>
> MAX_T2I_DATA_SIZE provided by the target indicates the maximum unit
> of target-to-initiator data the target can guarantee to hold and
> re-send in case of recovering requeued TRANSPORT_T2I_DATA command.
> Initiator may set this parameter value smaller than the value
> provided by the target. The value zero specified by the initiator
> indicates that the target needs not to guarantee to hold and
> re-send data beyond 1394 transaction.
> Target shall guarantee to hold and re-send data up to this
> (negotiated) parameter size.
> Responsibility to hold the contents of buffer beyond this parameter
> size belongs to the initiator.
> The initiator shall avoid to issue TRANSPORT_T2I_DATA command which
> has associated buffer larger than this parameter in case that the
> buffer contents may not be held.
>
> Though this enhancement will not be optimal in the spirit of shared
> memory model, I think almost the same result will be derived by this
> enhancement.
>
> Ueda-san from Canon will make a presentation on this enhancement at
> upcoming Toronto meeting.
>
> BTW, MAX_I2T_DATA_SIZE parameter seems not to be useful at all for
> both ends, and should be gone. Any objections?
>
> Akihiro Shimura

--
 Akihiro Shimura (shimura@pure.cpdc.canon.co.jp)
 Office Imaging System Promotion Project
 CANON INC.

--VGh1LCAxMyBBdWcgMTk5OCAxOTowMDo1OCArMDkwMA== Content-Type: application/octet-stream; name="MaxT2Isz.pdf" Content-Disposition: attachment; filename="MaxT2Isz.pdf" Content-Transfer-Encoding: base64

JVBERi0xLjINJeLjz9MNCjEgMCBvYmoNPDwgDS9UeXBlIC9QYWdlIA0vUGFyZW50IDggMCBSIA0v UmVzb3VyY2VzIDMgMCBSIA0vQ29udGVudHMgMiAwIFIgDT4+IA1lbmRvYmoNMiAwIG9iag08PCAv TGVuZ3RoIDI0MTkgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4gDXN0cmVhbQ0K6GhGHR+3cZmDQ8OO ufAn8pe3xN0czYMzgfB1MWZDiyMOJQySfBtYLkC19I5CMtVF1Y5eh/oJJlVHs1C44LAv6ibWtbUN w5iMrsrOCcDaPy3lrgM/XNgxCYtM4kplnbjky6zLnQawJTYhd9w7dZcaD4JPb6gg85W+DNYQ4v0A gGBcWZxH1Mw4qZBqrLBCXqYtD401uU4aH+LdbNF1v1Cmt3jj0bX1/2Cc75oVN8P4KHiksMfopJzQ dKvxM0grDa5UZ8QWh4XOz5D/OyY3jggoQuc2LafYoi6gYNrYcubv98FVncvhJpSIfb0/apNPJ99a Xfcph3Zw+inIt5M5sQtKMuW+i766kkenPNbUZr3dyZT+8gFrMM4c8RI4wiwxA81TQ02MzjUJP4X4 zWL+WYmAn6ug+FZe/BwE/X7yIMGqFMCm5hdm2AfANp3Rr3l4FpH2M5Hp5j7judclaXiAVUJ9VC2D pna8HxyBmPEPmkzm2izC1rZ50oei5nskcSXcafGm8Fuw8vErUbZdENLcmyf0JA+IIBzZLywJY51c GuytklHsghxdoZZ4CBk4AzbT+a4tvEAOQGUW6KjEWAyZVVM1935Ya7eO84QcGwS+KAKMIeDP0/Lz 8O5rHcF0LsPPZHd0k/AjG6PzWFUKI9WmEk/zMEcEfj6qzsC1QxqCJ7M0tNT5HJOw8ocJeC8PESQz uC1FJ9u7EzmTC9yUObaZbqNknnLbVZW93l1i8OrE+4x1kA552H+ynAL59PDPwCkl+jWeW3OyL6ux 31bsBRxc4MIEG5NovvmPkS3n9EIWN133Fwqh16zaWssCCO6ejxaHilA83ykRUY54GGyY7K5gc4/E 9bE0ZQoeDpmcNXGY0IGEA+Zurd3DXGQvoQUUO29UghD+ONN+4+HivwLFK8mUWZwnvRS/semql5u3 d0uPnpLBRyic0EtRTVGECbsUGHFaM9t/65ZELGAsci/R2uj5SZgMFVdr16G/mfwPcE5AxshR2UXA 0A+aVlNtf3OgH4ecScuaLyh7NTpUsgn9JevpvQHvCshatkXnQwO6nPoF2xLvyVhWmr8AC6sVBoR8 HE9k/lyY9V7hkVbv6v9OM4vkR600M/EVFY4VVxxMdObh4jlaou/rCYVnWn9xidmInvP8aQ48D+zh XcCw/A5np/5exQkEzED3cl5+QLQb1weajurAZAxg1wJSZn/n3ksIpg0ukN+Y24gWuH5pZI4wTrbB NGV3iNUlZNWe4BcK5VN7my1JDnVensj4fr6fFPE5KibMrLqObRxD2gEBbz4Ubjo44rbJ285p0jaK otoLGv6Y3zqKA0iBBN6Ory3j/ui6eWahoG8Fd1pOvJ2Px7dBlOTE8cdEDRKpMCTXdONA1uqBi5UR bDR9U7+2AeZWuUrhr8trHuYlRPRh9hyufCPF2IcfFd2quKosVOpoqZupqVQsKmJUx4GMXsVbQtWe pxWQ9SDu8o/NGGzonlzO808U1FqrNyGNHYMPn3/fCn4DpPFeTHVApvQrGcHcewvgvj95cjKGU2on WauUmufWBkrNJJ4gPIKlugJLYbeTg5tWyWuFn0ckJun3o4S4tDuT5rNABwquLwnLD622CGNEB28X Z0zYzoh5JaKVpqSkdjUkJW/HMkfSupi7rut+tX5luzPJuItWEVFsiVOCAFa+RMoXPbnO/mGkvSDX orWLfq2O/UZY8+uLFGYwHF04WvuRpVTZgSnsfs9bJTCrHLw9q3vBXR/xRfJsLi23sX3DxPOfpQry TqnMWU6iSQk/2gEOjCQ1uR1vQx6TIz/+OP6o4gKxBG2zaTM1j2EFsGtj/55EblQk7ZM+G94ZtpG3 zrNqEgAhv7sPqnsfIwJlQJtoAwTX3VbAbkAEIRh0N381uMAq1woGxGvW+NjyFX4LhmSHnOsdzT1R 6OEImGKmRIeYlasSea0KboUQ5NFte/zNHxi9Mg+xnyppq9jiMv6l/BSKeGLbTHpWb9y8JD7dpqXA wtPul7aPCgyTKrx3rbqRluDVeM2oLY/YV67VzoEplomUGM3Ww2sVpyUqoE6qI3nwoJ5M4OyyB/to T5TGiMd7wmA5zKpZUhmMOPCPr9g9kqRMXrvy026rKJtaUZZoMLnYLB12f5JDQorThcCvoOok/R9j sG7qaBqiTTcEBK7pTReQY/JEYuMm0gB4umY+ISwz0PJANLylEgAjQ7U/ulury7t27f4YW0YblpMK fNqDNkpxrbWgub1FEMuHtxuP7sDVI7w1wkog8kvNI8q+FYFArLImNr3oHb12Hn2BelS9hBcu+QuY 45u7j1bI1QdaEqH49jHEzWaP5cCWKRvWWM1tvpwnT3WosKairSoDNkM5n4LTWNUCz8jyuLSPELJx IAydXSFxow6VX5N/5T6Jx+2geW/phsm3XW9XQCPYWiRZPJg2MV499oBN83os34se+sTPmC9DDF9g EFYR07qnZItqi59rd2tcp35aaV3vRLJsVduW6ah7l+puNFqJc19KLybAhSrBfwxq9AwaydynSA7S jfSJsJNZwyk8Q1u9IIRjfj8DCTPH4sl+zyJquq5sCwPLuSsk4qTc1fBKKr/7GE2DNwY0tzQb6ztS pzYcsL4vp1P3HFMgdKDwGiL11hVMy6JfJJxvOltG8zHfhFUIqAG+XbAv/3/WyULJiNKGaGBmaE5d HVWTbVSeBpUfpnO254FYfgt7s1oZ3cuJ0ypxI7Mm/jQCazRKfg6fz23z65W/m/j/9nJUVroALvRu SMimNq2JXLZcr2S2tfaa1yiGPgQU1bCoPsW6M2jrH+k27uT6/Kf1nbIlVoZNEOgyhk6u5a+x5tk2 VaOQTtF+9K7POVF3kxvmaAeCKgXTLHF1VrQFF/0gfUMjM9+CLTjNxsvPhrrjt3661stjZXf7wvC6 p2nPnHlUOLy69TXUFu13qyq0UBvk4QX34IL606lIOmu5FMI4T67mb3N8mpdz2Dh7TOgBiK3PgtbL OKvKrgbEIbpruyJOW67Td6PwM4KHdH179wcSfNT6qCdtpDhOYWXC4kMsQKeisHwIy7KcL3ZZ58Gu 6Y/GRNN8HQRDbagovb8Wr60U/vBhQNNrgTTlFqrCwzORM2kAJHaW2bPH9lk7GJ70+YcDyW3yjzVW PvHYHnMhAeG/XbijqZFcMBvtIAKJuS4ASb3vwosLI8M0JNWtcGocyVqIF5iQwB71WoIB+89ctq2z SJ6txsxd8tdz/uj2lA1lbmRzdHJlYW0NZW5kb2JqDTMgMCBvYmoNPDwgDS9Qcm9jU2V0IFsgL1BE RiAvVGV4dCBdIA0vRm9udCA8PCAvRjMgNCAwIFIgL0Y1IDUgMCBSIC9GNyA2IDAgUiA+PiANL0V4 dEdTdGF0ZSA8PCAvR1MxIDcgMCBSID4+IA0+PiANZW5kb2JqDTQgMCBvYmoNPDwgDS9UeXBlIC9G b250IA0vU3VidHlwZSAvVHlwZTEgDS9OYW1lIC9GMyANL0VuY29kaW5nIDEzIDAgUiANL0Jhc2VG b250IC9IZWx2ZXRpY2EgDT4+IA1lbmRvYmoNNSAwIG9iag08PCANL1R5cGUgL0ZvbnQgDS9TdWJ0 eXBlIC9UeXBlMSANL05hbWUgL0Y1IA0vRW5jb2RpbmcgMTMgMCBSIA0vQmFzZUZvbnQgL1RpbWVz LUJvbGQgDT4+IA1lbmRvYmoNNiAwIG9iag08PCANL1R5cGUgL0ZvbnQgDS9TdWJ0eXBlIC9UeXBl MSANL05hbWUgL0Y3IA0vRW5jb2RpbmcgMTMgMCBSIA0vQmFzZUZvbnQgL1RpbWVzLVJvbWFuIA0+ PiANZW5kb2JqDTcgMCBvYmoNPDwgDS9UeXBlIC9FeHRHU3RhdGUgDS9TQSBmYWxzZSANL09QIGZh bHNlIA0vSFQgL0RlZmF1bHQgDT4+IA1lbmRvYmoNOCAwIG9iag08PCANL1R5cGUgL1BhZ2VzIA0v S2lkcyBbIDEgMCBSIDkgMCBSIF0gDS9Db3VudCAyIA0vTWVkaWFCb3ggWyAwIDAgNjEyIDc5MiBd IA0+PiANZW5kb2JqDTkgMCBvYmoNPDwgDS9UeXBlIC9QYWdlIA0vUGFyZW50IDggMCBSIA0vUmVz b3VyY2VzIDExIDAgUiANL0NvbnRlbnRzIDEwIDAgUiANPj4gDWVuZG9iag0xMCAwIG9iag08PCAv TGVuZ3RoIDI3MTcgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4gDXN0cmVhbQ0KC/RBKECeyWmw1pOM SnTVIFP7ilVWwTR6/ZVadXolcEk7M1F6l/vE7LmtHgobFBcszVetGa69/4XiE7gkxPpGgr1uBKBL rfdbPWioHG8bULHlPKbDck0Vw9LXUNdwRK1W6/7XaLoPN9//TNCOkDyH+Pl+ZS2j+Y1y5vlxPRvN vqpJ9AthhkgMFsM6yOn0VN9nFS+BdWol7oVzjfvlC5F6tvJSEqmV9n2FGfbsHsJ4vpxpvdWrixjG cDquGuSqmm7oHQRZ/ujhw3K82idEF03QnBTSQo04qGYyV6LomR4kSJHfgT2mQLQkm2AvH4w2JebN 8IrGjhnp4MiOj6wL7w8iiN1Ky8CqmF81NtHNo2odSj+1gjaJ9mco/NBeA6iH+I2Tsvn6/4KlpJEU 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 uWi3l964VqEsNmS6t9hO72iK5b6UkuEEWxEdZ8EDIa1XhNQ6YCmipZz6kZJpm8Qoj3aneKt4jqlp t09xxzqL8EHml4XBiqo5yREbFcTcrVdJVRcV+8A5FOHdyT5IQpVH6VGN3ZEmeVaxBGnD9/nRtbPk eCQlw+/+ww3ZSP1w78r6b7b2CBU4CRnkiOIhOwk/BUk9xYWqpU1wwCkfcWv5q4haOOUl/Z/ZAFpD qC6nsrJKZP5U180VsP7mBXC+NL7H/jfC4g/J9pbUw6oPAqA45izjWGStVwgkoGIh83NP/BKeHNfL 3WfwXv6QZrzXFz7P+sObiwj6bHRC2bpfmna/OfYopOMpew6+iWh+qchvTe5gLCzTaQ5Nu7UA5Yk+ eEYkQFwaHmeGLniiKaigtLFDOlkJIJpVWe7kPb7ojYq0mHsEF/Ab0VB/P8NoBP9Bhg+bSIYNK/PF eMkAZJW26kGbp+HytXnDxQkmUGiJqqvZ8Dmm4RP95yS4l2iMFcD6FeKjJkzcEKnS1U6/MmTNO4jJ 9tMiSznuYitbzPVIaw7wA3i9/7nxtvHo93XkyRXwKooSgzS/RGtopEWc1MyYkgv5C9qw9MAqHBr8 m4PXm+QF7OO1SZ8QMT7I0NcYM4shzijcR1eySDqPkMSK8TAbCMjazHnNiapd3v4W7fpzdMVUrAll uFCUtkSdQ+ym39hYsSGiLZjUD4vartpLV2++iEhr+aGbmu8BK4C0MApEmOX14lgi69YY5GEGFeqF kNuz6jCgMAGc+E/Ibb+d6vB+BAUdRieAFowNZW5kc3RyZWFtDWVuZG9iag0xMSAwIG9iag08PCAN L1Byb2NTZXQgWyAvUERGIC9UZXh0IF0gDS9Gb250IDw8IC9GMyA0IDAgUiAvRjcgNiAwIFIgPj4g DS9FeHRHU3RhdGUgPDwgL0dTMSA3IDAgUiA+PiANPj4gDWVuZG9iag0xMyAwIG9iag08PCANL1R5 cGUgL0VuY29kaW5nIA0vRGlmZmVyZW5jZXMgWyAwIC9ncmF2ZSAvYWN1dGUgL2NpcmN1bWZsZXgg L3RpbGRlIC9tYWNyb24gL2JyZXZlIC9kb3RhY2NlbnQgL2RpZXJlc2lzIA0vcmluZyAvY2VkaWxs YSAvaHVuZ2FydW1sYXV0IC9vZ29uZWsgL2Nhcm9uIC9kb3RsZXNzaSAvYnVsbGV0IC9idWxsZXQg DS9idWxsZXQgL2J1bGxldCAvYnVsbGV0IC9idWxsZXQgL2J1bGxldCAvYnVsbGV0IC9idWxsZXQg L2J1bGxldCANL2J1bGxldCAvYnVsbGV0IC9idWxsZXQgL2J1bGxldCAvYnVsbGV0IC9idWxsZXQg L2J1bGxldCAvYnVsbGV0IA0zOSAvcXVvdGVzaW5nbGUgOTYgL2dyYXZlIDEzMCAvcXVvdGVzaW5n bGJhc2UgL2Zsb3JpbiAvcXVvdGVkYmxiYXNlIA0vZWxsaXBzaXMgL2RhZ2dlciAvZGFnZ2VyZGJs IC9jaXJjdW1mbGV4IC9wZXJ0aG91c2FuZCAvU2Nhcm9uIC9ndWlsc2luZ2xsZWZ0IA0vT0UgMTQ1 IC9xdW90ZWxlZnQgL3F1b3RlcmlnaHQgL3F1b3RlZGJsbGVmdCAvcXVvdGVkYmxyaWdodCAvYnVs bGV0IA0vZW5kYXNoIC9lbWRhc2ggL3RpbGRlIC90cmFkZW1hcmsgL3NjYXJvbiAvZ3VpbHNpbmds cmlnaHQgL29lIDE1OSANL1lkaWVyZXNpcyAvc3BhY2UgMTY0IC9jdXJyZW5jeSAxNjYgL2Jyb2tl bmJhciAxNjggL2RpZXJlc2lzIC9jb3B5cmlnaHQgDS9vcmRmZW1pbmluZSAxNzIgL2xvZ2ljYWxu b3QgL2h5cGhlbiAvcmVnaXN0ZXJlZCAvbWFjcm9uIC9kZWdyZWUgDS9wbHVzbWludXMgL3R3b3N1 cGVyaW9yIC90aHJlZXN1cGVyaW9yIC9hY3V0ZSAvbXUgMTgzIC9wZXJpb2RjZW50ZXJlZCANL2Nl ZGlsbGEgL29uZXN1cGVyaW9yIC9vcmRtYXNjdWxpbmUgMTg4IC9vbmVxdWFydGVyIC9vbmVoYWxm IC90aHJlZXF1YXJ0ZXJzIA0xOTIgL0FncmF2ZSAvQWFjdXRlIC9BY2lyY3VtZmxleCAvQXRpbGRl IC9BZGllcmVzaXMgL0FyaW5nIC9BRSAvQ2NlZGlsbGEgDS9FZ3JhdmUgL0VhY3V0ZSAvRWNpcmN1 bWZsZXggL0VkaWVyZXNpcyAvSWdyYXZlIC9JYWN1dGUgL0ljaXJjdW1mbGV4IA0vSWRpZXJlc2lz IC9FdGggL050aWxkZSAvT2dyYXZlIC9PYWN1dGUgL09jaXJjdW1mbGV4IC9PdGlsZGUgL09kaWVy ZXNpcyANL211bHRpcGx5IC9Pc2xhc2ggL1VncmF2ZSAvVWFjdXRlIC9VY2lyY3VtZmxleCAvVWRp ZXJlc2lzIC9ZYWN1dGUgDS9UaG9ybiAvZ2VybWFuZGJscyAvYWdyYXZlIC9hYWN1dGUgL2FjaXJj dW1mbGV4IC9hdGlsZGUgL2FkaWVyZXNpcyANL2FyaW5nIC9hZSAvY2NlZGlsbGEgL2VncmF2ZSAv ZWFjdXRlIC9lY2lyY3VtZmxleCAvZWRpZXJlc2lzIC9pZ3JhdmUgDS9pYWN1dGUgL2ljaXJjdW1m bGV4IC9pZGllcmVzaXMgL2V0aCAvbnRpbGRlIC9vZ3JhdmUgL29hY3V0ZSAvb2NpcmN1bWZsZXgg DS9vdGlsZGUgL29kaWVyZXNpcyAvZGl2aWRlIC9vc2xhc2ggL3VncmF2ZSAvdWFjdXRlIC91Y2ly Y3VtZmxleCANL3VkaWVyZXNpcyAveWFjdXRlIC90aG9ybiAveWRpZXJlc2lzIF0gDT4+IA1lbmRv YmoNMTQgMCBvYmoNPDwgDS9UeXBlIC9DYXRhbG9nIA0vUGFnZXMgOCAwIFIgDT4+IA1lbmRvYmoN MTUgMCBvYmoNPDwgDS9DcmVhdGlvbkRhdGUgKMb2EqXgKudvtzUVvM19D0IpDS9Qcm9kdWNlciAo fDMj3dlx1yWGaCTs/Cs+BcaVgz0Pz+0TZi7Cz194FEo+U9O/JsZZ6G9z+gesjikNL1RpdGxlICjW /mq8nGClOPQnduufJUgUtMyjPGHOjA4FP6/DMWApDS9TdWJqZWN0ICjPrVvI61ukLah3QOgpDS9B dXRob3IgKMOnSvSwYLh31W9N44k4X13m9sI3QOjNXClcKBnsKQ0vS2V5d29yZHMgKLP/Gqj5YqU+ 6HMpDS9Nb2REYXRlICjG9hKl4Crnb7c1FbzNcw9BKQ0+PiANZW5kb2JqDTE2IDAgb2JqDTw8IA0v RmlsdGVyIC9TdGFuZGFyZCANL1YgMSANL1IgMiANL08gKCBVx1bHLhrXAmCOgZasrUR60y0Xz/WD I19t0V/tfatnKQ0vVSAozY+JsCT5pSWg4CX9USb2YLU5VnLvOc8CpENR53EMnF0pDS9QIDY1NDky IA0+PiANZW5kb2JqDXhyZWYNMCAxNyANMDAwMDAwMDAxMiA2NTUzNSBmDQowMDAwMDAwMDE2IDAw MDAwIG4NCjAwMDAwMDAxMDIgMDAwMDAgbg0KMDAwMDAwMjU5NiAwMDAwMCBuDQowMDAwMDAyNzE2 IDAwMDAwIG4NCjAwMDAwMDI4MjAgMDAwMDAgbg0KMDAwMDAwMjkyNSAwMDAwMCBuDQowMDAwMDAz MDMxIDAwMDAwIG4NCjAwMDAwMDMxMDggMDAwMDAgbg0KMDAwMDAwMzIwNSAwMDAwMCBuDQowMDAw MDAzMjkzIDAwMDAwIG4NCjAwMDAwMDYwODYgMDAwMDAgbg0KMDAwMDAwMDAwMCAwMDAwMSBmDQow MDAwMDA2MTk3IDAwMDAwIG4NCjAwMDAwMDc2OTggMDAwMDAgbg0KMDAwMDAwNzc1MiAwMDAwMCBu DQowMDAwMDA4MDIzIDAwMDAwIG4NCnRyYWlsZXINPDwNL1NpemUgMTcNL0luZm8gMTUgMCBSIA0v RW5jcnlwdCAxNiAwIFIgDS9Sb290IDE0IDAgUiANL0lEWzxjZjBkMjZiZTIzYTFkODAwNTNmOWUw NWI0ZGUzNmNlYz48Y2YwZDI2YmUyM2ExZDgwMDUzZjllMDViNGRlMzZjZWM+XQ0+Pg1zdGFydHhy ZWYNODE2NA0lJUVPRg0=

--VGh1LCAxMyBBdWcgMTk5OCAxOTowMDo1OCArMDkwMA==--