// Amazon FPGA Hardware Development Kit // // Copyright 2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. // // Licensed under the Amazon Software License (the "License"). You may not use // this file except in compliance with the License. A copy of the License is // located at // // http://aws.amazon.com/asl/ // // or in the "license" file accompanying this file. This file is distributed on // an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or // implied. See the License for the specific language governing permissions and // limitations under the License. `pragma protect begin_protected `pragma protect version = 2 `pragma protect encrypt_agent = "XILINX" `pragma protect encrypt_agent_info = "Xilinx Encryption Tool 2015" `pragma protect begin_commonblock `pragma protect control error_handling="delegated" `pragma protect end_commonblock `pragma protect begin_toolblock `pragma protect rights_digest_method="sha256" `pragma protect key_keyowner = "Xilinx", key_keyname= "xilinxt_2017_05", key_method = "rsa", key_block EZ2tH3LeMVv7vukHaN/tv+pQmwZX81o7thyHVDWF7mM93FaXyNhCXTSyDdazJu7/59Py93a+cCj9 EEEG/UMXcssv/u4GhJzoLhNbGUxPXLsX3SIGrTAhYMqUghm1uiPpNdST+Khvq3rfWs5cehEPvsWw 8A52qamT0g71hscVONAjIadCoIAAQvF6wBVGan/xoUsiiuVj/StB/MRCaU1h33zJVnkJChMNuv1u GcwL2vTjF2mJSTLkMDWU4d3JqnNNe6JLK5eokUOlzu7E90SIv72KLBebeiWgyJXoUTk3vuN6RBcl 1NLulevXSjI5J1IzTMQ8KdMirHBaVA6r1l2Wsw== `pragma protect control xilinx_configuration_visible = "false" `pragma protect control xilinx_enable_modification = "false" `pragma protect control xilinx_enable_probing = "false" `pragma protect end_toolblock="rUY20Sun5Njk38TaHPm9PEsmv9niNjWSTL+22BD4WpE=" `pragma protect data_method = "AES128-CBC" `pragma protect encoding = (enctype = "BASE64", line_length = 76, bytes = 7104) `pragma protect data_block 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 `pragma protect end_protected