From aeb47d9004debf5b8c7f7b789baf8492e414420a Mon Sep 17 00:00:00 2001 From: Ravi Kumar Neti Date: Mon, 22 Jan 2024 06:12:55 +0530 Subject: [PATCH] Adding Question Answering for Android Signed-off-by: Ravi Kumar Neti --- .../QuestionAnswering/.gitignore | 68 + .../QuestionAnswering/bert/build.gradle | 79 + .../QuestionAnswering/bert/proguard-rules.pro | 21 + .../bert/src/main/AndroidManifest.xml | 43 + .../bert/src/main/assets/.gitignore | 1 + .../bert/src/main/assets/qa.json | 746 + .../bert/src/main/assets/vocab.txt | 30522 ++++++++++++++++ .../bert/src/main/cpp/CMakeLists.txt | 61 + .../src/main/cpp/inc/hpp/CheckRuntime.hpp | 17 + .../src/main/cpp/inc/hpp/CreateUserBuffer.hpp | 53 + .../src/main/cpp/inc/hpp/LoadContainer.hpp | 19 + .../src/main/cpp/inc/hpp/LoadInputTensor.hpp | 37 + .../main/cpp/inc/hpp/SetBuilderOptions.hpp | 25 + .../bert/src/main/cpp/inc/hpp/Util.hpp | 56 + .../bert/src/main/cpp/inc/hpp/inference.h | 64 + .../src/main/cpp/inc/zdl/DiagLog/IDiagLog.h | 102 + .../src/main/cpp/inc/zdl/DiagLog/IDiagLog.hpp | 133 + .../src/main/cpp/inc/zdl/DiagLog/Options.h | 164 + .../src/main/cpp/inc/zdl/DiagLog/Options.hpp | 50 + .../cpp/inc/zdl/DlContainer/DlContainer.h | 185 + .../cpp/inc/zdl/DlContainer/IDlContainer.hpp | 146 + .../src/main/cpp/inc/zdl/DlSystem/DlEnums.h | 267 + .../src/main/cpp/inc/zdl/DlSystem/DlEnums.hpp | 266 + .../src/main/cpp/inc/zdl/DlSystem/DlError.h | 299 + .../src/main/cpp/inc/zdl/DlSystem/DlError.hpp | 261 + .../main/cpp/inc/zdl/DlSystem/DlOptional.hpp | 244 + .../src/main/cpp/inc/zdl/DlSystem/DlVersion.h | 122 + .../main/cpp/inc/zdl/DlSystem/DlVersion.hpp | 118 + .../cpp/inc/zdl/DlSystem/IBufferAttributes.h | 117 + .../inc/zdl/DlSystem/IBufferAttributes.hpp | 85 + .../inc/zdl/DlSystem/IOBufferDataTypeMap.h | 156 + .../inc/zdl/DlSystem/IOBufferDataTypeMap.hpp | 69 + .../src/main/cpp/inc/zdl/DlSystem/ITensor.h | 118 + .../src/main/cpp/inc/zdl/DlSystem/ITensor.hpp | 95 + .../cpp/inc/zdl/DlSystem/ITensorFactory.hpp | 52 + .../main/cpp/inc/zdl/DlSystem/ITensorItr.hpp | 199 + .../cpp/inc/zdl/DlSystem/ITensorItrImpl.hpp | 32 + .../main/cpp/inc/zdl/DlSystem/IUserBuffer.h | 714 + .../main/cpp/inc/zdl/DlSystem/IUserBuffer.hpp | 390 + .../inc/zdl/DlSystem/IUserBufferFactory.hpp | 68 + .../cpp/inc/zdl/DlSystem/PlatformConfig.h | 329 + .../cpp/inc/zdl/DlSystem/PlatformConfig.hpp | 265 + .../main/cpp/inc/zdl/DlSystem/RuntimeList.h | 203 + .../main/cpp/inc/zdl/DlSystem/RuntimeList.hpp | 115 + .../inc/zdl/DlSystem/SnpeApiExportDefine.h | 34 + .../src/main/cpp/inc/zdl/DlSystem/String.hpp | 70 + .../main/cpp/inc/zdl/DlSystem/StringList.h | 154 + .../main/cpp/inc/zdl/DlSystem/StringList.hpp | 73 + .../src/main/cpp/inc/zdl/DlSystem/TensorMap.h | 154 + .../main/cpp/inc/zdl/DlSystem/TensorMap.hpp | 81 + .../main/cpp/inc/zdl/DlSystem/TensorShape.h | 174 + .../main/cpp/inc/zdl/DlSystem/TensorShape.hpp | 104 + .../cpp/inc/zdl/DlSystem/TensorShapeMap.h | 163 + .../cpp/inc/zdl/DlSystem/TensorShapeMap.hpp | 77 + .../main/cpp/inc/zdl/DlSystem/UserBufferMap.h | 151 + .../cpp/inc/zdl/DlSystem/UserBufferMap.hpp | 80 + .../main/cpp/inc/zdl/DlSystem/UserMemoryMap.h | 156 + .../cpp/inc/zdl/DlSystem/UserMemoryMap.hpp | 76 + .../zdl/PlatformValidator/PlatformValidator.h | 107 + .../PlatformValidator/PlatformValidator.hpp | 57 + .../cpp/inc/zdl/SNPE/ApplicationBufferMap.h | 85 + .../cpp/inc/zdl/SNPE/ApplicationBufferMap.hpp | 90 + .../bert/src/main/cpp/inc/zdl/SNPE/PSNPE.h | 898 + .../bert/src/main/cpp/inc/zdl/SNPE/PSNPE.hpp | 537 + .../main/cpp/inc/zdl/SNPE/RuntimeConfigList.h | 118 + .../cpp/inc/zdl/SNPE/RuntimeConfigList.hpp | 153 + .../bert/src/main/cpp/inc/zdl/SNPE/SNPE.h | 336 + .../bert/src/main/cpp/inc/zdl/SNPE/SNPE.hpp | 125 + .../src/main/cpp/inc/zdl/SNPE/SNPEBuilder.h | 334 + .../src/main/cpp/inc/zdl/SNPE/SNPEBuilder.hpp | 136 + .../src/main/cpp/inc/zdl/SNPE/SNPEFactory.hpp | 88 + .../bert/src/main/cpp/inc/zdl/SNPE/SNPEUtil.h | 354 + .../main/cpp/inc/zdl/SNPE/UserBufferList.h | 77 + .../main/cpp/inc/zdl/SNPE/UserBufferList.hpp | 76 + .../src/main/cpp/inc/zdl/SnpeUdo/UdoBase.h | 546 + .../src/main/cpp/inc/zdl/SnpeUdo/UdoReg.h | 117 + .../src/main/cpp/inc/zdl/SnpeUdo/UdoShared.h | 57 + .../bert/src/main/cpp/inc/zdl/Wrapper.hpp | 449 + .../bert/src/main/cpp/inference.cpp | 147 + .../bert/src/main/cpp/inference_helper.cpp | 456 + .../bert/src/main/cpp/native-lib.cpp | 171 + .../bert/src/main/ic_launcher-playstore.png | Bin 0 -> 55366 bytes .../java/com/qualcomm/qti/qa/ml/Feature.java | 50 + .../qualcomm/qti/qa/ml/FeatureConverter.java | 120 + .../qualcomm/qti/qa/ml/LoadDatasetClient.java | 118 + .../java/com/qualcomm/qti/qa/ml/QaAnswer.java | 57 + .../java/com/qualcomm/qti/qa/ml/QaClient.java | 316 + .../qti/qa/tokenization/BasicTokenizer.java | 113 + .../qti/qa/tokenization/CharChecker.java | 67 + .../qti/qa/tokenization/FullTokenizer.java | 61 + .../qa/tokenization/WordpieceTokenizer.java | 103 + .../qti/qa/ui/DatasetListActivity.java | 61 + .../com/qualcomm/qti/qa/ui/QaActivity.java | 403 + .../qualcomm/qti/qa/ui/QuestionAdapter.java | 86 + .../src/main/res/drawable/ic_ask_active.xml | 12 + .../src/main/res/drawable/ic_ask_inactive.xml | 12 + .../main/res/layout/activity_dataset_list.xml | 88 + .../bert/src/main/res/layout/activity_qa.xml | 112 + .../src/main/res/layout/question_chip.xml | 14 + .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.webp | Bin 0 -> 2442 bytes .../mipmap-hdpi/ic_launcher_foreground.webp | Bin 0 -> 3734 bytes .../res/mipmap-hdpi/ic_launcher_round.webp | Bin 0 -> 4418 bytes .../src/main/res/mipmap-mdpi/ic_launcher.webp | Bin 0 -> 1492 bytes .../mipmap-mdpi/ic_launcher_foreground.webp | Bin 0 -> 2178 bytes .../res/mipmap-mdpi/ic_launcher_round.webp | Bin 0 -> 2648 bytes .../main/res/mipmap-xhdpi/ic_launcher.webp | Bin 0 -> 3506 bytes .../mipmap-xhdpi/ic_launcher_foreground.webp | Bin 0 -> 5358 bytes .../res/mipmap-xhdpi/ic_launcher_round.webp | Bin 0 -> 6706 bytes .../main/res/mipmap-xxhdpi/ic_launcher.webp | Bin 0 -> 5904 bytes .../mipmap-xxhdpi/ic_launcher_foreground.webp | Bin 0 -> 8930 bytes .../res/mipmap-xxhdpi/ic_launcher_round.webp | Bin 0 -> 10734 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.webp | Bin 0 -> 8428 bytes .../ic_launcher_foreground.webp | Bin 0 -> 13074 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.webp | Bin 0 -> 15596 bytes .../bert/src/main/res/values/colors.xml | 11 + .../bert/src/main/res/values/dimens.xml | 8 + .../res/values/ic_launcher_background.xml | 4 + .../bert/src/main/res/values/strings.xml | 10 + .../bert/src/main/res/values/styles.xml | 23 + .../QuestionAnswering/build.gradle | 27 + .../QuestionAnswering/gradle.properties | 16 + .../gradle/wrapper/gradle-wrapper.properties | 5 + .../QuestionAnswering/gradlew | 234 + .../QuestionAnswering/gradlew.bat | 89 + .../QuestionAnswering/settings.gradle | 1 + .../android/05-QuestionAnswering/README.md | 183 + .../05-QuestionAnswering/readme_assets/1.png | Bin 0 -> 101699 bytes .../05-QuestionAnswering/readme_assets/2.png | Bin 0 -> 288183 bytes .../05-QuestionAnswering/readme_assets/3.png | Bin 0 -> 274733 bytes .../05-QuestionAnswering/readme_assets/4.png | Bin 0 -> 274859 bytes .../05-QuestionAnswering/readme_assets/QA.gif | Bin 0 -> 1062083 bytes .../readme_assets/Thumbs.db | Bin 0 -> 60416 bytes .../readme_assets/qa_thumb.png | Bin 0 -> 110122 bytes .../scripts/gen_raw_list.py | 28 + .../scripts/generating_model.ipynb | 862 + .../scripts/qa_model_gen.py | 85 + .../snpe-release/readme.txt | 1 + 139 files changed, 47627 insertions(+) create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/.gitignore create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/build.gradle create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/proguard-rules.pro create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/AndroidManifest.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/.gitignore create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/qa.json create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/vocab.txt create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/CMakeLists.txt create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CheckRuntime.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CreateUserBuffer.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadContainer.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadInputTensor.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/SetBuilderOptions.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/Util.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/inference.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/DlContainer.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/IDlContainer.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlOptional.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorFactory.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItr.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItrImpl.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBufferFactory.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/SnpeApiExportDefine.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/String.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEFactory.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEUtil.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoBase.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoReg.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoShared.h create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/Wrapper.hpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference.cpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference_helper.cpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/native-lib.cpp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/ic_launcher-playstore.png create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/Feature.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/FeatureConverter.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/LoadDatasetClient.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaAnswer.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaClient.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/BasicTokenizer.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/CharChecker.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/FullTokenizer.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/WordpieceTokenizer.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/DatasetListActivity.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QaActivity.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QuestionAdapter.java create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_active.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_inactive.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_dataset_list.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_qa.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/question_chip.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher_round.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher_round.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_round.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxhdpi/ic_launcher.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxxhdpi/ic_launcher.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/colors.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/dimens.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/ic_launcher_background.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/strings.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/styles.xml create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/build.gradle create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle.properties create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle/wrapper/gradle-wrapper.properties create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew.bat create mode 100644 ai-solutions/android/05-QuestionAnswering/QuestionAnswering/settings.gradle create mode 100644 ai-solutions/android/05-QuestionAnswering/README.md create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/1.png create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/2.png create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/3.png create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/4.png create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/QA.gif create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/Thumbs.db create mode 100644 ai-solutions/android/05-QuestionAnswering/readme_assets/qa_thumb.png create mode 100644 ai-solutions/android/05-QuestionAnswering/scripts/gen_raw_list.py create mode 100644 ai-solutions/android/05-QuestionAnswering/scripts/generating_model.ipynb create mode 100644 ai-solutions/android/05-QuestionAnswering/scripts/qa_model_gen.py create mode 100644 ai-solutions/android/05-QuestionAnswering/snpe-release/readme.txt diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/.gitignore b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/.gitignore new file mode 100644 index 00000000..f3733fb4 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/.gitignore @@ -0,0 +1,68 @@ +**/.DS_Store + +# Built application files +*.apk +*.ap_ + +# Files for the ART/Dalvik VM +*.dex + +# Java class files +*.class + +# Generated files +bin/ +gen/ +out/ + +# Gradle files +.gradle/ +build/ + +# Local configuration file (sdk path, etc) +local.properties + +# Proguard folder generated by Eclipse +proguard/ + +# Log Files +*.log + +# Android Studio Navigation editor temp files +.navigation/ + +# Android Studio captures folder +captures/ + +# IntelliJ +*.iml +.idea/workspace.xml +.idea/modules.xml +.idea/tasks.xml +.idea/gradle.xml +.idea/assetWizardSettings.xml +.idea/dictionaries +.idea/libraries +.idea/caches + +# Keystore files +# Uncomment the following line if you do not want to check your keystore files in. +#*.jks + +# External native build folder generated in Android Studio 2.2 and later +.externalNativeBuild + +# Google Services (e.g. APIs or Firebase) +google-services.json + +# Freeline +freeline.py +freeline/ +freeline_project_description.json + +# fastlane +fastlane/report.xml +fastlane/Preview.html +fastlane/screenshots +fastlane/test_output +fastlane/readme.md \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/build.gradle b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/build.gradle new file mode 100644 index 00000000..11458bd3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/build.gradle @@ -0,0 +1,79 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 32 + buildToolsVersion "29.0.2" + defaultConfig { + applicationId "com.qcomm.aistack_questionanswer" + minSdkVersion 30 + targetSdkVersion 32 + versionCode 1 + versionName "1.0" + ndkVersion "21.4.7075529" + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + externalNativeBuild { + cmake { + cppFlags '' + } + ndk { + abiFilters 'arm64-v8a' + } + } + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + externalNativeBuild { + cmake { + path file('src/main/cpp/CMakeLists.txt') + version '3.10.2' + } + } + + // If you find lint problem like: + // * What went wrong: + // A problem was found with the configuration of task ':app:lint'. + // > No value has been specified for property 'lintClassPath'. + // + // Probably you haven't set ANDROID_HOME. To fix: + // export ANDROID_HOME=$HOME/Android/Sdk # Your Android SDK path. + lintOptions { + abortOnError false + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + + implementation 'androidx.constraintlayout:constraintlayout:2.1.4' + implementation 'androidx.appcompat:appcompat:1.1.0' + implementation 'androidx.annotation:annotation:1.1.0' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.recyclerview:recyclerview:1.2.1' + implementation 'com.google.android.material:material:1.6.1' + + implementation 'com.google.code.gson:gson:2.8.5' + implementation 'com.google.guava:guava:28.1-android' + + testImplementation 'junit:junit:4.12' + testImplementation 'androidx.test:core:1.2.0' + testImplementation 'com.google.truth:truth:1.0' + testImplementation 'org.robolectric:robolectric:4.3.1' + androidTestImplementation 'androidx.test:runner:1.2.0' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' +} + +repositories { + flatDir { + dirs 'libs' + } + mavenCentral() +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/proguard-rules.pro b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/proguard-rules.pro new file mode 100644 index 00000000..6e7ffa99 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/AndroidManifest.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/AndroidManifest.xml new file mode 100644 index 00000000..fe8d89ae --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/.gitignore b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/.gitignore new file mode 100644 index 00000000..e57c17f3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/.gitignore @@ -0,0 +1 @@ +*.tflite diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/qa.json b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/qa.json new file mode 100644 index 00000000..4e339b43 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/qa.json @@ -0,0 +1,746 @@ +{ + "titles": [ + [ + "Qualcomm_Wiki" + ], + [ + "Cloud AI 100" + ], + [ + "Super_Bowl_50" + ], + [ + "Warsaw" + ], + [ + "Normans" + ], + [ + "Nikola_Tesla" + ], + [ + "Computational_complexity_theory" + ], + [ + "Teacher" + ], + [ + "Martin_Luther" + ], + [ + "Southern_California" + ], + [ + "Sky_(United_Kingdom)" + ], + [ + "Victoria_(Australia)" + ], + [ + "Huguenot" + ], + [ + "Steam_engine" + ], + [ + "Oxygen" + ], + [ + "1973_oil_crisis" + ], + [ + "Apollo_program" + ], + [ + "European_Union_law" + ], + [ + "Amazon_rainforest" + ], + [ + "Ctenophora" + ], + [ + "Fresno,_California" + ], + [ + "Packet_switching" + ], + [ + "Black_Death" + ], + [ + "Geology" + ], + [ + "Newcastle_upon_Tyne" + ], + [ + "Victoria_and_Albert_Museum" + ], + [ + "American_Broadcasting_Company" + ], + [ + "Genghis_Khan" + ], + [ + "Pharmacy" + ], + [ + "Immune_system" + ], + [ + "Civil_disobedience" + ], + [ + "Construction" + ], + [ + "Private_school" + ], + [ + "Harvard_University" + ], + [ + "Jacksonville,_Florida" + ], + [ + "Economic_inequality" + ], + [ + "Doctor_Who" + ], + [ + "University_of_Chicago" + ], + [ + "Yuan_dynasty" + ], + [ + "Kenya" + ], + [ + "Intergovernmental_Panel_on_Climate_Change" + ], + [ + "Chloroplast" + ], + [ + "Prime_number" + ], + [ + "Rhine" + ], + [ + "Scottish_Parliament" + ], + [ + "Islamism" + ], + [ + "Imperialism" + ], + [ + "United_Methodist_Church" + ], + [ + "French_and_Indian_War" + ], + [ + "Force" + ] + ], + "contents": [ + [ + "Qualcomm is an American multinational corporation headquartered in San Diego, California, and incorporated in Delaware. It creates semiconductors, software, and services related to wireless technology. It owns patents critical to the 5G, 4G, CDMA2000, TD-SCDMA and WCDMA mobile communications standards. Qualcomm was established in 1985 by Irwin M. Jacobs and six other co-founders. Its early research into CDMA wireless cell phone technology was funded by selling a two-way mobile digital satellite communications system known as Omnitracs. After a heated debate in the wireless industry, the 2G standard was adopted with Qualcomm's CDMA patents incorporated. Afterwards there was a series of legal disputes about pricing for licensing patents required by the standard. Over the years, Qualcomm has expanded into selling semiconductor products in a predominantly fabless manufacturing model. It also developed semiconductor components or software for vehicles, watches, laptops, wi-fi, smartphones, and other devices." + ], + [ + "The Qualcomm Cloud AI 100 is a family of neural processors for AI inference acceleration, addresses unique requirements in the cloud, including power efficiency, scale, process node advancements, and signal processing, facilitating the ability of datacenters to run inference on the edge cloud faster and more efficiently. \n\nLaunched in early 2021, the Cloud AI 100 series are the first series of AI inference processors. These processors range from 70 TOPS / 35 FLOPS to 400 TOPS / 200 FLOPS and are offered in both PCIe cards and M.2 modules (with and without heatsinks)." + ], + [ + "Super Bowl 50 was an American football game to determine the champion of the National Football League (NFL) for the 2015 season. The American Football Conference (AFC) champion Denver Broncos defeated the National Football Conference (NFC) champion Carolina Panthers 24\u201310 to earn their third Super Bowl title. The game was played on February 7, 2016, at Levi's Stadium in the San Francisco Bay Area at Santa Clara, California. As this was the 50th Super Bowl, the league emphasized the \"golden anniversary\" with various gold-themed initiatives, as well as temporarily suspending the tradition of naming each Super Bowl game with Roman numerals (under which the game would have been known as \"Super Bowl L\"), so that the logo could prominently feature the Arabic numerals 50." + ], + [ + "One of the most famous people born in Warsaw was Maria Sk\u0142odowska-Curie, who achieved international recognition for her research on radioactivity and was the first female recipient of the Nobel Prize. Famous musicians include W\u0142adys\u0142aw Szpilman and Fr\u00e9d\u00e9ric Chopin. Though Chopin was born in the village of \u017belazowa Wola, about 60 km (37 mi) from Warsaw, he moved to the city with his family when he was seven months old. Casimir Pulaski, a Polish general and hero of the American Revolutionary War, was born here in 1745." + ], + [ + "The Normans (Norman: Nourmands; French: Normands; Latin: Normanni) were the people who in the 10th and 11th centuries gave their name to Normandy, a region in France. They were descended from Norse (\"Norman\" comes from \"Norseman\") raiders and pirates from Denmark, Iceland and Norway who, under their leader Rollo, agreed to swear fealty to King Charles III of West Francia. Through generations of assimilation and mixing with the native Frankish and Roman-Gaulish populations, their descendants would gradually merge with the Carolingian-based cultures of West Francia. The distinct cultural and ethnic identity of the Normans emerged initially in the first half of the 10th century, and it continued to evolve over the succeeding centuries." + ], + [ + "Nikola Tesla (Serbian Cyrillic: \u041d\u0438\u043a\u043e\u043b\u0430 \u0422\u0435\u0441\u043b\u0430; 10 July 1856 \u2013 7 January 1943) was a Serbian American inventor, electrical engineer, mechanical engineer, physicist, and futurist best known for his contributions to the design of the modern alternating current (AC) electricity supply system." + ], + [ + "Computational complexity theory is a branch of the theory of computation in theoretical computer science that focuses on classifying computational problems according to their inherent difficulty, and relating those classes to each other. A computational problem is understood to be a task that is in principle amenable to being solved by a computer, which is equivalent to stating that the problem may be solved by mechanical application of mathematical steps, such as an algorithm." + ], + [ + "The role of teacher is often formal and ongoing, carried out at a school or other place of formal education. In many countries, a person who wishes to become a teacher must first obtain specified professional qualifications or credentials from a university or college. These professional qualifications may include the study of pedagogy, the science of teaching. Teachers, like other professionals, may have to continue their education after they qualify, a process known as continuing professional development. Teachers may use a lesson plan to facilitate student learning, providing a course of study which is called the curriculum." + ], + [ + "Martin Luther (/\u02c8lu\u02d0\u03b8\u0259r/ or /\u02c8lu\u02d0\u00f0\u0259r/; German: [\u02c8ma\u0250\u032fti\u02d0n \u02c8l\u028at\u0250] ( listen); 10 November 1483 \u2013 18 February 1546) was a German professor of theology, composer, priest, former monk and a seminal figure in the Protestant Reformation. Luther came to reject several teachings and practices of the Late Medieval Catholic Church. He strongly disputed the claim that freedom from God's punishment for sin could be purchased with money. He proposed an academic discussion of the power and usefulness of indulgences in his Ninety-Five Theses of 1517. His refusal to retract all of his writings at the demand of Pope Leo X in 1520 and the Holy Roman Emperor Charles V at the Diet of Worms in 1521 resulted in his excommunication by the Pope and condemnation as an outlaw by the Emperor." + ], + [ + "Southern California, often abbreviated SoCal, is a geographic and cultural region that generally comprises California's southernmost 10 counties. The region is traditionally described as \"eight counties\", based on demographics and economic ties: Imperial, Los Angeles, Orange, Riverside, San Bernardino, San Diego, Santa Barbara, and Ventura. The more extensive 10-county definition, including Kern and San Luis Obispo counties, is also used based on historical political divisions. Southern California is a major economic center for the state of California and the United States." + ], + [ + "Formed in November 1990 by the equal merger of Sky Television and British Satellite Broadcasting, BSkyB became the UK's largest digital subscription television company. Following BSkyB's 2014 acquisition of Sky Italia and a majority 90.04% interest in Sky Deutschland in November 2014, its holding company British Sky Broadcasting Group plc changed its name to Sky plc. The United Kingdom operations also changed the company name from British Sky Broadcasting Limited to Sky UK Limited, still trading as Sky." + ], + [ + "The economy of Victoria is highly diversified: service sectors including financial and property services, health, education, wholesale, retail, hospitality and manufacturing constitute the majority of employment. Victoria's total gross state product (GSP) is ranked second in Australia, although Victoria is ranked fourth in terms of GSP per capita because of its limited mining activity. Culturally, Melbourne is home to a number of museums, art galleries and theatres and is also described as the \"sporting capital of Australia\". The Melbourne Cricket Ground is the largest stadium in Australia, and the host of the 1956 Summer Olympics and the 2006 Commonwealth Games. The ground is also considered the \"spiritual home\" of Australian cricket and Australian rules football, and hosts the grand final of the Australian Football League (AFL) each year, usually drawing crowds of over 95,000 people. Victoria includes eight public universities, with the oldest, the University of Melbourne, having been founded in 1853." + ], + [ + "Huguenot numbers peaked near an estimated two million by 1562, concentrated mainly in the southern and central parts of France, about one-eighth the number of French Catholics. As Huguenots gained influence and more openly displayed their faith, Catholic hostility grew, in spite of increasingly liberal political concessions and edicts of toleration from the French crown. A series of religious conflicts followed, known as the Wars of Religion, fought intermittently from 1562 to 1598. The wars finally ended with the granting of the Edict of Nantes, which granted the Huguenots substantial religious, political and military autonomy." + ], + [ + "Steam engines are external combustion engines, where the working fluid is separate from the combustion products. Non-combustion heat sources such as solar power, nuclear power or geothermal energy may be used. The ideal thermodynamic cycle used to analyze this process is called the Rankine cycle. In the cycle, water is heated and transforms into steam within a boiler operating at a high pressure. When expanded through pistons or turbines, mechanical work is done. The reduced-pressure steam is then condensed and pumped back into the boiler." + ], + [ + "Oxygen is a chemical element with symbol O and atomic number 8. It is a member of the chalcogen group on the periodic table and is a highly reactive nonmetal and oxidizing agent that readily forms compounds (notably oxides) with most elements. By mass, oxygen is the third-most abundant element in the universe, after hydrogen and helium. At standard temperature and pressure, two atoms of the element bind to form dioxygen, a colorless and odorless diatomic gas with the formula O\n2. Diatomic oxygen gas constitutes 20.8% of the Earth's atmosphere. However, monitoring of atmospheric oxygen levels show a global downward trend, because of fossil-fuel burning. Oxygen is the most abundant element by mass in the Earth's crust as part of oxide compounds such as silicon dioxide, making up almost half of the crust's mass." + ], + [ + "The 1973 oil crisis began in October 1973 when the members of the Organization of Arab Petroleum Exporting Countries (OAPEC, consisting of the Arab members of OPEC plus Egypt and Syria) proclaimed an oil embargo. By the end of the embargo in March 1974, the price of oil had risen from US$3 per barrel to nearly $12 globally; US prices were significantly higher. The embargo caused an oil crisis, or \"shock\", with many short- and long-term effects on global politics and the global economy. It was later called the \"first oil shock\", followed by the 1979 oil crisis, termed the \"second oil shock.\"" + ], + [ + "The Apollo program, also known as Project Apollo, was the third United States human spaceflight program carried out by the National Aeronautics and Space Administration (NASA), which accomplished landing the first humans on the Moon from 1969 to 1972. First conceived during Dwight D. Eisenhower's administration as a three-man spacecraft to follow the one-man Project Mercury which put the first Americans in space, Apollo was later dedicated to President John F. Kennedy's national goal of \"landing a man on the Moon and returning him safely to the Earth\" by the end of the 1960s, which he proposed in a May 25, 1961, address to Congress. Project Mercury was followed by the two-man Project Gemini (1962\u201366). The first manned flight of Apollo was in 1968." + ], + [ + "European Union law is a body of treaties and legislation, such as Regulations and Directives, which have direct effect or indirect effect on the laws of European Union member states. The three sources of European Union law are primary law, secondary law and supplementary law. The main sources of primary law are the Treaties establishing the European Union. Secondary sources include regulations and directives which are based on the Treaties. The legislature of the European Union is principally composed of the European Parliament and the Council of the European Union, which under the Treaties may establish secondary law to pursue the objective set out in the Treaties." + ], + [ + "The Amazon rainforest (Portuguese: Floresta Amaz\u00f4nica or Amaz\u00f4nia; Spanish: Selva Amaz\u00f3nica, Amazon\u00eda or usually Amazonia; French: For\u00eat amazonienne; Dutch: Amazoneregenwoud), also known in English as Amazonia or the Amazon Jungle, is a moist broadleaf forest that covers most of the Amazon basin of South America. This basin encompasses 7,000,000 square kilometres (2,700,000 sq mi), of which 5,500,000 square kilometres (2,100,000 sq mi) are covered by the rainforest. This region includes territory belonging to nine nations. The majority of the forest is contained within Brazil, with 60% of the rainforest, followed by Peru with 13%, Colombia with 10%, and with minor amounts in Venezuela, Ecuador, Bolivia, Guyana, Suriname and French Guiana. States or departments in four nations contain \"Amazonas\" in their names. The Amazon represents over half of the planet's remaining rainforests, and comprises the largest and most biodiverse tract of tropical rainforest in the world, with an estimated 390 billion individual trees divided into 16,000 species." + ], + [ + "Ctenophora (/t\u1d7b\u02c8n\u0252f\u0259r\u0259/; singular ctenophore, /\u02c8t\u025bn\u0259f\u0254\u02d0r/ or /\u02c8ti\u02d0n\u0259f\u0254\u02d0r/; from the Greek \u03ba\u03c4\u03b5\u03af\u03c2 kteis 'comb' and \u03c6\u03ad\u03c1\u03c9 pher\u014d 'carry'; commonly known as comb jellies) is a phylum of animals that live in marine waters worldwide. Their most distinctive feature is the \u2018combs\u2019 \u2013 groups of cilia which they use for swimming \u2013 they are the largest animals that swim by means of cilia. Adults of various species range from a few millimeters to 1.5 m (4 ft 11 in) in size. Like cnidarians, their bodies consist of a mass of jelly, with one layer of cells on the outside and another lining the internal cavity. In ctenophores, these layers are two cells deep, while those in cnidarians are only one cell deep. Some authors combined ctenophores and cnidarians in one phylum, Coelenterata, as both groups rely on water flow through the body cavity for both digestion and respiration. Increasing awareness of the differences persuaded more recent authors to classify them as separate phyla." + ], + [ + "Fresno (/\u02c8fr\u025bzno\u028a/ FREZ-noh), the county seat of Fresno County, is a city in the U.S. state of California. As of 2015, the city's population was 520,159, making it the fifth-largest city in California, the largest inland city in California and the 34th-largest in the nation. Fresno is in the center of the San Joaquin Valley and is the largest city in the Central Valley, which contains the San Joaquin Valley. It is approximately 220 miles (350 km) northwest of Los Angeles, 170 miles (270 km) south of the state capital, Sacramento, or 185 miles (300 km) south of San Francisco. The name Fresno means \"ash tree\" in Spanish, and an ash leaf is featured on the city's flag." + ], + [ + "Starting in the late 1950s, American computer scientist Paul Baran developed the concept Distributed Adaptive Message Block Switching with the goal to provide a fault-tolerant, efficient routing method for telecommunication messages as part of a research program at the RAND Corporation, funded by the US Department of Defense. This concept contrasted and contradicted the theretofore established principles of pre-allocation of network bandwidth, largely fortified by the development of telecommunications in the Bell System. The new concept found little resonance among network implementers until the independent work of Donald Davies at the National Physical Laboratory (United Kingdom) (NPL) in the late 1960s. Davies is credited with coining the modern name packet switching and inspiring numerous packet switching networks in Europe in the decade following, including the incorporation of the concept in the early ARPANET in the United States." + ], + [ + "The Black Death is thought to have originated in the arid plains of Central Asia, where it then travelled along the Silk Road, reaching Crimea by 1343. From there, it was most likely carried by Oriental rat fleas living on the black rats that were regular passengers on merchant ships. Spreading throughout the Mediterranean and Europe, the Black Death is estimated to have killed 30\u201360% of Europe's total population. In total, the plague reduced the world population from an estimated 450 million down to 350\u2013375 million in the 14th century. The world population as a whole did not recover to pre-plague levels until the 17th century. The plague recurred occasionally in Europe until the 19th century." + ], + [ + "There are three major types of rock: igneous, sedimentary, and metamorphic. The rock cycle is an important concept in geology which illustrates the relationships between these three types of rock, and magma. When a rock crystallizes from melt (magma and/or lava), it is an igneous rock. This rock can be weathered and eroded, and then redeposited and lithified into a sedimentary rock, or be turned into a metamorphic rock due to heat and pressure that change the mineral content of the rock which gives it a characteristic fabric. The sedimentary rock can then be subsequently turned into a metamorphic rock due to heat and pressure and is then weathered, eroded, deposited, and lithified, ultimately becoming a sedimentary rock. Sedimentary rock may also be re-eroded and redeposited, and metamorphic rock may also undergo additional metamorphism. All three types of rocks may be re-melted; when this happens, a new magma is formed, from which an igneous rock may once again crystallize." + ], + [ + "Newcastle upon Tyne (RP: i/\u02ccnju\u02d0k\u0251\u02d0s\u0259l \u0259\u02ccp\u0252n \u02c8ta\u026an/; Locally: i/nju\u02d0\u02cck\u00e6s\u0259l \u0259\u02ccp\u0259n \u02c8ta\u026an/), commonly known as Newcastle, is a city in Tyne and Wear, North East England, 103 miles (166 km) south of Edinburgh and 277 miles (446 km) north of London on the northern bank of the River Tyne, 8.5 mi (13.7 km) from the North Sea. Newcastle is the most populous city in the North East and Tyneside the eighth most populous conurbation in the United Kingdom. Newcastle is a member of the English Core Cities Group and is a member of the Eurocities network of European cities. Newcastle was part of the county of Northumberland until 1400, when it became a county itself, a status it retained until becoming part of Tyne and Wear in 1974.[not in citation given] The regional nickname and dialect for people from Newcastle and the surrounding area is Geordie." + ], + [ + "The Victoria and Albert Museum (often abbreviated as the V&A), London, is the world's largest museum of decorative arts and design, housing a permanent collection of over 4.5 million objects. It was founded in 1852 and named after Queen Victoria and Prince Albert. The V&A is located in the Brompton district of the Royal Borough of Kensington and Chelsea, in an area that has become known as \"Albertopolis\" because of its association with Prince Albert, the Albert Memorial and the major cultural institutions with which he was associated. These include the Natural History Museum, the Science Museum and the Royal Albert Hall. The museum is a non-departmental public body sponsored by the Department for Culture, Media and Sport. Like other national British museums, entrance to the museum has been free since 2001." + ], + [ + "The American Broadcasting Company (ABC) (stylized in its logo as abc since 1957) is an American commercial broadcast television network that is owned by the Disney\u2013ABC Television Group, a subsidiary of Disney Media Networks division of The Walt Disney Company. The network is part of the Big Three television networks. The network is headquartered on Columbus Avenue and West 66th Street in Manhattan, with additional major offices and production facilities in New York City, Los Angeles and Burbank, California." + ], + [ + "He came to power by uniting many of the nomadic tribes of Northeast Asia. After founding the Mongol Empire and being proclaimed \"Genghis Khan\", he started the Mongol invasions that resulted in the conquest of most of Eurasia. These included raids or invasions of the Qara Khitai, Caucasus, Khwarezmid Empire, Western Xia and Jin dynasties. These campaigns were often accompanied by wholesale massacres of the civilian populations \u2013 especially in the Khwarezmian and Xia controlled lands. By the end of his life, the Mongol Empire occupied a substantial portion of Central Asia and China." + ], + [ + "The word pharmacy is derived from its root word pharma which was a term used since the 15th\u201317th centuries. However, the original Greek roots from pharmakos imply sorcery or even poison. In addition to pharma responsibilities, the pharma offered general medical advice and a range of services that are now performed solely by other specialist practitioners, such as surgery and midwifery. The pharma (as it was referred to) often operated through a retail shop which, in addition to ingredients for medicines, sold tobacco and patent medicines. Often the place that did this was called an apothecary and several languages have this as the dominant term, though their practices are more akin to a modern pharmacy, in English the term apothecary would today be seen as outdated or only approproriate if herbal remedies were on offer to a large extent. The pharmas also used many other herbs not listed. The Greek word Pharmakeia (Greek: \u03c6\u03b1\u03c1\u03bc\u03b1\u03ba\u03b5\u03af\u03b1) derives from pharmakon (\u03c6\u03ac\u03c1\u03bc\u03b1\u03ba\u03bf\u03bd), meaning \"drug\", \"medicine\" (or \"poison\").[n 1]" + ], + [ + "The immune system is a system of many biological structures and processes within an organism that protects against disease. To function properly, an immune system must detect a wide variety of agents, known as pathogens, from viruses to parasitic worms, and distinguish them from the organism's own healthy tissue. In many species, the immune system can be classified into subsystems, such as the innate immune system versus the adaptive immune system, or humoral immunity versus cell-mediated immunity. In humans, the blood\u2013brain barrier, blood\u2013cerebrospinal fluid barrier, and similar fluid\u2013brain barriers separate the peripheral immune system from the neuroimmune system which protects the brain." + ], + [ + "One of its earliest massive implementations was brought about by Egyptians against the British occupation in the 1919 Revolution. Civil disobedience is one of the many ways people have rebelled against what they deem to be unfair laws. It has been used in many nonviolent resistance movements in India (Gandhi's campaigns for independence from the British Empire), in Czechoslovakia's Velvet Revolution and in East Germany to oust their communist governments, In South Africa in the fight against apartheid, in the American Civil Rights Movement, in the Singing Revolution to bring independence to the Baltic countries from the Soviet Union, recently with the 2003 Rose Revolution in Georgia and the 2004 Orange Revolution in Ukraine, among other various movements worldwide." + ], + [ + "Construction is the process of constructing a building or infrastructure. Construction differs from manufacturing in that manufacturing typically involves mass production of similar items without a designated purchaser, while construction typically takes place on location for a known client. Construction as an industry comprises six to nine percent of the gross domestic product of developed countries. Construction starts with planning,[citation needed] design, and financing and continues until the project is built and ready for use." + ], + [ + "Private schools, also known as independent schools, non-governmental, or nonstate schools, are not administered by local, state or national governments; thus, they retain the right to select their students and are funded in whole or in part by charging their students tuition, rather than relying on mandatory taxation through public (government) funding; at some private schools students may be able to get a scholarship, which makes the cost cheaper, depending on a talent the student may have (e.g. sport scholarship, art scholarship, academic scholarship), financial need, or tax credit scholarships that might be available." + ], + [ + "Established originally by the Massachusetts legislature and soon thereafter named for John Harvard (its first benefactor), Harvard is the United States' oldest institution of higher learning, and the Harvard Corporation (formally, the President and Fellows of Harvard College) is its first chartered corporation. Although never formally affiliated with any denomination, the early College primarily trained Congregationalist and Unitarian clergy. Its curriculum and student body were gradually secularized during the 18th century, and by the 19th century Harvard had emerged as the central cultural establishment among Boston elites. Following the American Civil War, President Charles W. Eliot's long tenure (1869\u20131909) transformed the college and affiliated professional schools into a modern research university; Harvard was a founding member of the Association of American Universities in 1900. James Bryant Conant led the university through the Great Depression and World War II and began to reform the curriculum and liberalize admissions after the war. The undergraduate college became coeducational after its 1977 merger with Radcliffe College." + ], + [ + "Jacksonville is the largest city by population in the U.S. state of Florida, and the largest city by area in the contiguous United States. It is the county seat of Duval County, with which the city government consolidated in 1968. Consolidation gave Jacksonville its great size and placed most of its metropolitan population within the city limits; with an estimated population of 853,382 in 2014, it is the most populous city proper in Florida and the Southeast, and the 12th most populous in the United States. Jacksonville is the principal city in the Jacksonville metropolitan area, with a population of 1,345,596 in 2010." + ], + [ + "A study by the World Institute for Development Economics Research at United Nations University reports that the richest 1% of adults alone owned 40% of global assets in the year 2000. The three richest people in the world possess more financial assets than the lowest 48 nations combined. The combined wealth of the \"10 million dollar millionaires\" grew to nearly $41 trillion in 2008. A January 2014 report by Oxfam claims that the 85 wealthiest individuals in the world have a combined wealth equal to that of the bottom 50% of the world's population, or about 3.5 billion people. According to a Los Angeles Times analysis of the report, the wealthiest 1% owns 46% of the world's wealth; the 85 richest people, a small part of the wealthiest 1%, own about 0.7% of the human population's wealth, which is the same as the bottom half of the population. More recently, in January 2015, Oxfam reported that the wealthiest 1 percent will own more than half of the global wealth by 2016. An October 2014 study by Credit Suisse also claims that the top 1% now own nearly half of the world's wealth and that the accelerating disparity could trigger a recession. In October 2015, Credit Suisse published a study which shows global inequality continues to increase, and that half of the world's wealth is now in the hands of those in the top percentile, whose assets each exceed $759,900. A 2016 report by Oxfam claims that the 62 wealthiest individuals own as much wealth as the poorer half of the global population combined. Oxfam's claims have however been questioned on the basis of the methodology used: by using net wealth (adding up assets and subtracting debts), the Oxfam report, for instance, finds that there are more poor people in the United States and Western Europe than in China (due to a greater tendency to take on debts).[unreliable source?][unreliable source?] Anthony Shorrocks, the lead author of the Credit Suisse report which is one of the sources of Oxfam's data, considers the criticism about debt to be a \"silly argument\" and \"a non-issue . . . a diversion.\"" + ], + [ + "Doctor Who is a British science-fiction television programme produced by the BBC since 1963. The programme depicts the adventures of the Doctor, a Time Lord\u2014a space and time-travelling humanoid alien. He explores the universe in his TARDIS, a sentient time-travelling space ship. Its exterior appears as a blue British police box, which was a common sight in Britain in 1963 when the series first aired. Accompanied by companions, the Doctor combats a variety of foes, while working to save civilisations and help people in need." + ], + [ + "The University of Chicago (UChicago, Chicago, or U of C) is a private research university in Chicago. The university, established in 1890, consists of The College, various graduate programs, interdisciplinary committees organized into four academic research divisions and seven professional schools. Beyond the arts and sciences, Chicago is also well known for its professional schools, which include the Pritzker School of Medicine, the University of Chicago Booth School of Business, the Law School, the School of Social Service Administration, the Harris School of Public Policy Studies, the Graham School of Continuing Liberal and Professional Studies and the Divinity School. The university currently enrolls approximately 5,000 students in the College and around 15,000 students overall." + ], + [ + "The Yuan dynasty (Chinese: \u5143\u671d; pinyin: Yu\u00e1n Ch\u00e1o), officially the Great Yuan (Chinese: \u5927\u5143; pinyin: D\u00e0 Yu\u00e1n; Mongolian: Yehe Yuan Ulus[a]), was the empire or ruling dynasty of China established by Kublai Khan, leader of the Mongolian Borjigin clan. Although the Mongols had ruled territories including today's North China for decades, it was not until 1271 that Kublai Khan officially proclaimed the dynasty in the traditional Chinese style. His realm was, by this point, isolated from the other khanates and controlled most of present-day China and its surrounding areas, including modern Mongolia and Korea. It was the first foreign dynasty to rule all of China and lasted until 1368, after which its Genghisid rulers returned to their Mongolian homeland and continued to rule the Northern Yuan dynasty. Some of the Mongolian Emperors of the Yuan mastered the Chinese language, while others only used their native language (i.e. Mongolian) and the 'Phags-pa script." + ], + [ + "Kenya (/\u02c8k\u025bnj\u0259/; locally [\u02c8k\u025b\u0272a] ( listen)), officially the Republic of Kenya, is a country in Africa and a founding member of the East African Community (EAC). Its capital and largest city is Nairobi. Kenya's territory lies on the equator and overlies the East African Rift covering a diverse and expansive terrain that extends roughly from Lake Victoria to Lake Turkana (formerly called Lake Rudolf) and further south-east to the Indian Ocean. It is bordered by Tanzania to the south, Uganda to the west, South Sudan to the north-west, Ethiopia to the north and Somalia to the north-east. Kenya covers 581,309 km2 (224,445 sq mi), and had a population of approximately 45 million people in July 2014." + ], + [ + "The Intergovernmental Panel on Climate Change (IPCC) is a scientific intergovernmental body under the auspices of the United Nations, set up at the request of member governments. It was first established in 1988 by two United Nations organizations, the World Meteorological Organization (WMO) and the United Nations Environment Programme (UNEP), and later endorsed by the United Nations General Assembly through Resolution 43/53. Membership of the IPCC is open to all members of the WMO and UNEP. The IPCC produces reports that support the United Nations Framework Convention on Climate Change (UNFCCC), which is the main international treaty on climate change. The ultimate objective of the UNFCCC is to \"stabilize greenhouse gas concentrations in the atmosphere at a level that would prevent dangerous anthropogenic [i.e., human-induced] interference with the climate system\". IPCC reports cover \"the scientific, technical and socio-economic information relevant to understanding the scientific basis of risk of human-induced climate change, its potential impacts and options for adaptation and mitigation.\"" + ], + [ + "Chloroplasts' main role is to conduct photosynthesis, where the photosynthetic pigment chlorophyll captures the energy from sunlight and converts it and stores it in the energy-storage molecules ATP and NADPH while freeing oxygen from water. They then use the ATP and NADPH to make organic molecules from carbon dioxide in a process known as the Calvin cycle. Chloroplasts carry out a number of other functions, including fatty acid synthesis, much amino acid synthesis, and the immune response in plants. The number of chloroplasts per cell varies from 1 in algae up to 100 in plants like Arabidopsis and wheat." + ], + [ + "A prime number (or a prime) is a natural number greater than 1 that has no positive divisors other than 1 and itself. A natural number greater than 1 that is not a prime number is called a composite number. For example, 5 is prime because 1 and 5 are its only positive integer factors, whereas 6 is composite because it has the divisors 2 and 3 in addition to 1 and 6. The fundamental theorem of arithmetic establishes the central role of primes in number theory: any integer greater than 1 can be expressed as a product of primes that is unique up to ordering. The uniqueness in this theorem requires excluding 1 as a prime because one can include arbitrarily many instances of 1 in any factorization, e.g., 3, 1 \u00b7 3, 1 \u00b7 1 \u00b7 3, etc. are all valid factorizations of 3." + ], + [ + "The Rhine (Romansh: Rein, German: Rhein, French: le Rhin, Dutch: Rijn) is a European river that begins in the Swiss canton of Graub\u00fcnden in the southeastern Swiss Alps, forms part of the Swiss-Austrian, Swiss-Liechtenstein border, Swiss-German and then the Franco-German border, then flows through the Rhineland and eventually empties into the North Sea in the Netherlands. The biggest city on the river Rhine is Cologne, Germany with a population of more than 1,050,000 people. It is the second-longest river in Central and Western Europe (after the Danube), at about 1,230 km (760 mi),[note 2][note 1] with an average discharge of about 2,900 m3/s (100,000 cu ft/s)." + ], + [ + "Following a referendum in 1997, in which the Scottish electorate voted for devolution, the current Parliament was convened by the Scotland Act 1998, which sets out its powers as a devolved legislature. The Act delineates the legislative competence of the Parliament \u2013 the areas in which it can make laws \u2013 by explicitly specifying powers that are \"reserved\" to the Parliament of the United Kingdom. The Scottish Parliament has the power to legislate in all areas that are not explicitly reserved to Westminster. The British Parliament retains the ability to amend the terms of reference of the Scottish Parliament, and can extend or reduce the areas in which it can make laws. The first meeting of the new Parliament took place on 12 May 1999." + ], + [ + "Islamism, also known as Political Islam (Arabic: \u0625\u0633\u0644\u0627\u0645 \u0633\u064a\u0627\u0633\u064a\u200e isl\u0101m siy\u0101s\u012b), is an Islamic revival movement often characterized by moral conservatism, literalism, and the attempt \"to implement Islamic values in all spheres of life.\" Islamism favors the reordering of government and society in accordance with the Shari'a. The different Islamist movements have been described as \"oscillating between two poles\": at one end is a strategy of Islamization of society through state power seized by revolution or invasion; at the other \"reformist\" pole Islamists work to Islamize society gradually \"from the bottom up\". The movements have \"arguably altered the Middle East more than any trend since the modern states gained independence\", redefining \"politics and even borders\" according to one journalist (Robin Wright)." + ], + [ + "Imperialism is a type of advocacy of empire. Its name originated from the Latin word \"imperium\", which means to rule over large territories. Imperialism is \"a policy of extending a country's power and influence through colonization, use of military force, or other means\". Imperialism has greatly shaped the contemporary world. It has also allowed for the rapid spread of technologies and ideas. The term imperialism has been applied to Western (and Japanese) political and economic dominance especially in Asia and Africa in the 19th and 20th centuries. Its precise meaning continues to be debated by scholars. Some writers, such as Edward Said, use the term more broadly to describe any system of domination and subordination organised with an imperial center and a periphery." + ], + [ + "The United Methodist Church (UMC) is a mainline Protestant Methodist denomination. In the 19th century its main predecessor was a leader in Evangelicalism. Founded in 1968 by the union of the Methodist Church (USA) and the Evangelical United Brethren Church, the UMC traces its roots back to the revival movement of John and Charles Wesley in England as well as the Great Awakening in the United States. As such, the church's theological orientation is decidedly Wesleyan. It embraces both liturgical and evangelical elements." + ], + [ + "The French and Indian War (1754\u20131763) was the North American theater of the worldwide Seven Years' War. The war was fought between the colonies of British America and New France, with both sides supported by military units from their parent countries of Great Britain and France, as well as Native American allies. At the start of the war, the French North American colonies had a population of roughly 60,000 European settlers, compared with 2 million in the British North American colonies. The outnumbered French particularly depended on the Indians. Long in conflict, the metropole nations declared war on each other in 1756, escalating the war from a regional affair into an intercontinental conflict." + ], + [ + "Philosophers in antiquity used the concept of force in the study of stationary and moving objects and simple machines, but thinkers such as Aristotle and Archimedes retained fundamental errors in understanding force. In part this was due to an incomplete understanding of the sometimes non-obvious force of friction, and a consequently inadequate view of the nature of natural motion. A fundamental error was the belief that a force is required to maintain motion, even at a constant velocity. Most of the previous misunderstandings about motion and force were eventually corrected by Galileo Galilei and Sir Isaac Newton. With his mathematical insight, Sir Isaac Newton formulated laws of motion that were not improved-on for nearly three hundred years. By the early 20th century, Einstein developed a theory of relativity that correctly predicted the action of forces on objects with increasing momenta near the speed of light, and also provided insight into the forces produced by gravitation and inertia." + ] + ], + "questions": [ + [ + "When was qualcomm founded ?", + "Who is founder of Qualcomm ?", + "What products does qualcomm make ?", + "What is omnitrac ?", + "Where is headquarteres ?" + ], + [ + "What is Qualcomm Cloud AI 100 ?", + "What is the major advantage of Cloud AI 100 ?", + "How Cloud AI 100 benefits ?", + "Cloud AI 100 is used for ?", + "When Cloud AI 100 is launched ?", + "How Cloud AI 100 is offered ?" + ], + [ + "Which NFL team represented the AFC at Super Bowl 50?", + "Which NFL team represented the NFC at Super Bowl 50?", + "Where did Super Bowl 50 take place?", + "Which NFL team won Super Bowl 50?", + "What color was used to emphasize the 50th anniversary of the Super Bowl?", + "What was the theme of Super Bowl 50?", + "What day was the game played on?", + "What is the AFC short for?", + "What was the theme of Super Bowl 50?", + "What does AFC stand for?", + "What day was the Super Bowl played on?", + "Who won Super Bowl 50?", + "What venue did Super Bowl 50 take place in?", + "What city did Super Bowl 50 take place in?", + "If Roman numerals were used, what would Super Bowl 50 have been called?", + "Super Bowl 50 decided the NFL champion for what season?", + "What year did the Denver Broncos secure a Super Bowl title for the third time?", + "What city did Super Bowl 50 take place in?", + "What stadium did Super Bowl 50 take place in?", + "What was the final score of Super Bowl 50? ", + "What month, day and year did Super Bowl 50 take place? ", + "What year was Super Bowl 50?", + "What team was the AFC champion?", + "What team was the NFC champion?", + "Who won Super Bowl 50?", + "Super Bowl 50 determined the NFL champion for what season?", + "Which team won Super Bowl 50.", + "Where was Super Bowl 50 held?", + "The name of the NFL championship game is?", + "What 2015 NFL team one the AFC playoff?" + ], + [ + "What was Maria Curie the first female recipient of?", + "What year was Casimir Pulaski born in Warsaw?", + "Who was one of the most famous people born in Warsaw?", + "Who was Fr\u00e9d\u00e9ric Chopin?", + "How old was Chopin when he moved to Warsaw with his family?" + ], + [ + "In what country is Normandy located?", + "When were the Normans in Normandy?", + "From which countries did the Norse originate?", + "Who was the Norse leader?", + "What century did the Normans first gain their separate identity?" + ], + [ + "In what year was Nikola Tesla born? ", + "What was Nikola Tesla's ethnicity?", + "In what year did Tesla die? ", + "When was Nikola Tesla born?", + "In what year did Tesla die?", + "What is Tesla's home country?", + "What does AC stand for?" + ], + [ + "What branch of theoretical computer science deals with broadly classifying computational problems by difficulty and class of relationship?", + "By what main attribute are computational problems classified utilizing computational complexity theory? ", + "What is the term for a task that generally lends itself to being solved by a computer?" + ], + [ + "What is a course of study called?", + "What is another name to describe the science of teaching?", + "Where do most teachers get their credentials from?", + "What can a teacher use to help students learn?", + "Where is a teacher most likely to be teaching at?" + ], + [ + "Of what nationality was Martin Luther?", + "When did Martin Luther die?", + "What organization's teaching did Luther reject?", + "What did the Church claim could be avoided with money?", + "What did the Church do when Luther refused to retract his writings?" + ], + [ + "What is Southern California often abbreviated as?", + "Despite being traditionall described as \"eight counties\", how many counties does this region actually have?", + "What is a major importance of Southern California in relation to California and the United States?", + "What are the ties that best described what the \"eight counties\" are based on?", + "The reasons for the las two counties to be added are based on what?" + ], + [ + "What company was formed by the merger of Sky Television and British Satellite Broadcasting?", + "Who is the UK's largest digital subscription television company?", + "What year did BSkyB acquire Sky Italia?", + "What is the name of the holding company for BSkyB?", + "What is the name of the United Kingdom operation for BSkyB?" + ], + [ + "What kind of economy does Victoria have?", + "Where according to gross state product does Victoria rank in Australia?", + "At what rank does GPS per capita set Victoria?", + "What city in Victoria is called the sporting capital of Australia?", + "What is the largest stadium in Australia?" + ], + [ + "Where was France's Huguenot population largely centered?", + "What was the proportion of Huguenots to Catholics at their peak?", + "When were the Wars of Religion fought?", + "What treaty ended the Wars of Religion?", + "What did this agreement do?" + ], + [ + "Along with geothermal and nuclear, what is a notable non-combustion heat source?", + "What ideal thermodynamic cycle analyzes the process by which steam engines work?", + "In the Rankine cycle, what does water turn into when heated?", + "At what pressure is water heated in the Rankine cycle?", + "What types of engines are steam engines?" + ], + [ + "The atomic number of the periodic table for oxygen?", + "What is the second most abundant element?", + "How many atoms combine to form dioxygen?", + "Roughly, how much oxygen makes up the Earth crust?", + "Which gas makes up 20.8% of the Earth's atmosphere?", + "How much of the earth's atmosphere is diatomic oxygen?", + "What element makes up almost half of the earth's crust by mass?", + "What is the atomic number for oxygen?", + "Are atmospheric oxygen levels going up, down, or staying the same?", + "What are the three most abundent elements of the universe by mass?", + "What is the atomic number of the element oxygen?", + "Of what group in the periodic table is oxygen a member?", + "What type of compounds does oxygen most commonly form?", + "Compared to other elements, how abundant does oxygen rank?", + "Under normal conditions, what do two atoms of oxygen form?" + ], + [ + "When did the 1973 oil crisis begin?", + "What was the price of oil in March of 1974?", + "When was the second oil crisis?", + "What was another term used for the oil crisis?", + "Who proclaimed the oil embargo?" + ], + [ + "What project put the first Americans into space?", + "What program was created to carry out these projects and missions?", + "What year did the first manned Apollo flight occur?", + "What President is credited with the original notion of putting Americans in space?", + "How many people were on the project that followed Project Mercury?" + ], + [ + "What are the three sources of European Union law?", + "What is European Union Law?", + "What are the main sources of primary law?", + "What are the secondary sources of primary law?", + "What are the two bodies that make up the European Union's legislature?", + "What is European Union law?", + "What effect does European Union law have on laws of member states?", + "What are the three sources of European Union law?", + "What are the main legislative bodies of the European Union?", + "What are the three main sources of European Union law?", + "What are the main sources of primary law?", + "What is the legislature of the European Union comprised of?", + "How many sources of European Union law are there?" + ], + [ + "Which name is also used to describe the Amazon rainforest in English?", + "How many square kilometers of rainforest is covered in the basin?", + "How many nations control this region in total?", + "How many nations contain \"Amazonas\" in their names?", + "What percentage does the Amazon represents in rainforests on the planet?", + "What is the Dutch word for the Amazon rainforest?", + "What rainforest covers the majority of the Amazon basin in South America?", + "In what country can most of the Amazon rainforest be found?", + "The Amazon rainforest makes up what amount of Earth's rainforests?", + "How many species of trees can be found in the Amazon rainforest?", + "What kind of forest is the Amazon rainforest?", + "How many square kilometers is the Amazon Basin?", + "How many nations are within the Amazon Basin?", + "Which nation contains the majority of the amazon forest?", + "What is the estimate for the amount of tree species in the amazon tropical rain forest?" + ], + [ + "What are Ctenophora commonly known as?", + "Where do Ctenophora live?", + "What size are adult Ctenophora?", + "What is a ctenophora?", + "What does the ctenophora use to swim?", + "What does ctenophora use for digestion and respiration?", + "How large can ctenophora grow?", + "What is the most distinctive feature of ctenophora?", + "What are ctenophora commonly known as?", + "How big can ctenophora grow?", + "What does ctenophora rely on for digestion and respiration?", + "What does ctenophora mean in Greek?", + "Where do ctenophora live?" + ], + [ + "Which city is the fifth-largest city in California?", + "How far is Fresno from Los Angeles?", + "What does the name Fresno mean in Spanish?", + "What is featured on the city of Fresno's city flag?", + "How do you pronounce Fresno?" + ], + [ + "What did Paul Baran develop ", + "What did Distributed Adaptive Message Block Switching do", + "What did this concept contradict ", + "What is Donald Davies credited with ", + "What did Paul Baran develop in the late 1950's", + "What was the goal of the system ", + "Who is credited with the modern name for this system " + ], + [ + "Where did the black death originate?", + "How did the black death make it to the Mediterranean and Europe?", + "How much of the European population did the black death kill?", + "When did the world's population finally recover from the black death?", + "For how long did the plague stick around?" + ], + [ + "An igneous rock is a rock that crystallizes from what?", + "Sedimentary rock can be turned into which of the three types of rock?", + "When the three types of rock are re-melted what is formed? ", + "What are the three major types of rock? ", + "What changes the mineral content of a rock?" + ], + [ + "How many miles south of Edinburgh is Newcastle?", + "How many miles from the north Sea is Newcastle?", + "What network is Newcastle a member of?", + "What county was Newcastle a part of until 1400?", + "What's the regional nickname for Newcastle and its surrounding area?" + ], + [ + "where is the Victoria and Albert Museum located?", + "how many permanent objects are located there?", + "when was the Victoria and Albert museum founded?", + "Who is the museum named for?", + "In which London borough is the Victoria and Albert Museum located?", + "In what year was the Victoria and Albert Museum founded?", + "Which monarchs was the Victoria and Albert Museum named after?", + "Which department sponsors the Victoria and Albert Museum?", + "In which year did the museum started charging free admission fees?" + ], + [ + "What company owns the American Broadcasting Company?", + "In what year did ABC stylize it's logo as abc?", + "In what borough of New York City is ABC headquartered?", + "On what streets is the ABC headquarters located", + "Disney-ABC Television Group is a subsidiary of what division of the Walt Disney Company?" + ], + [ + "What do we call the empire that Genghis Khan founded?", + "Who did Genghis Khan unite before he began conquering the rest of Eurasia?", + "In which regions in particular did Genghis Khan's armies massacre civilians?", + "What areas did Genghis Khan control at the end of his life?", + "Which other empires or dynasties did Genghis Khan conquer?" + ], + [ + "What word is the word pharmacy taken from?", + "What goods were sold in a pharma?", + "What did the Greek root pharmakos imply?", + "How would the word apothecary be viewed by contemporary English speakers?", + "What else was used by pharmas?" + ], + [ + "What is the immune system?", + "What does the immune system protect against?", + "What are two of its subsystems?", + "What is the subsystem that protects the human brain?", + "What is the immune system?", + "What does the immune system protect against?", + "What are two of its subsystems?", + "The immune system protects organisms against what?", + "What are the agents the immune system detects known as?", + "Which part of the immune system protects the brain?", + "What separates the neuroimmune system and peripheral immune system in humans?", + "What are the agents detected by the immune system called?", + "What are the two major subsystems of the immune system?", + "What are the two different types of immunity?", + "What is the immune system of the brained known as?" + ], + [ + "What is it called when people in society rebel against laws they think are unfair?", + "What is an example of major civil disobedience in South Africa?", + "What was the the movement called that brought Baltic countries independence from the Soviet Union?", + "In 2004 the Orange revolution occurred in what country?", + "Where was the location of the 2003 Rose revolution?", + "Which people brought forward one of the earliest examples of Civil Disobedience?", + "Who was one of the earliest examples of Civil Disobedience against?", + "Why do people chose civil disobedience to protest?", + "What does civil disobedience protest against?", + "What civil rights movement in the US was known for it's disobedience?" + ], + [ + "What is the process of constructing a building or infrastructure?", + "What typically involves mass production of similar items without a designated purchaser?", + "What percentile of gross domestic product is construction comprised of?", + "What three things are needed for construction to take place?", + "Construction takes place on location for who?" + ], + [ + "Along with non-governmental and nonstate schools, what is another name for private schools?", + "Along with sport and art, what is a type of talent scholarship?", + "Rather than taxation, what are private schools largely funded by?", + "What right do private schools have that public schools don't?" + ], + [ + "What individual is the school named after?", + "When did the undergraduate program become coeducational?", + "What was the name of the leader through the Great Depression and World War II?", + "What organization did Harvard found in 1900?", + "What president of the university transformed it into a modern research university?" + ], + [ + "Which Florida city has the biggest population?", + "What was the population Jacksonville city as of 2010?", + "Based on population alone, what is Jacksonville's ranking in the United States?", + "In which county does Jacksonville reside?", + "What year did consolidation cause Jacksonville to become part of Duval County?" + ], + [ + "What percentage of global assets does the richest 1% of people have?", + "According to Oxfam, the 85 richest people have wealth equal to how many average people?", + "In order to be considered in the top percentile, a person would need to amass how much money each year?", + "What has caused Oxfam's findings to be questioned?", + "Why does Oxfam and Credit Suisse believe their findings are being doubted?", + "What percent of the global assets in 2000 were owned by just 1% of adults?", + "What do the three richest people in the world posses more of than the lowest 48 nations together?", + "How much was the combined wealth of the \"10 Million dollar millionaires\" in 2008?", + "How much of the global wealth will the wealthiest 1 percent own by 2016?", + "Why are there more poor people in the United States and Europe than China?" + ], + [ + "Who is the producer of Doctor Who?", + "What year did Doctor Who first show on TV?", + "What is Doctor Who's space ship called?", + "What does the outside of the Tardis resemble?", + "What type/genre of TV show is Doctor Who?" + ], + [ + "What kind of university is the University of Chicago?", + "When was the University of Chicago established?", + "How many professional schools does the University of Chicago have?", + "How many academic research divisions does the University of Chicago have?", + "How many students does the University of Chicago have enlisted?" + ], + [ + "What is the Chinese name for the Yuan dynasty?", + "What is the Yuan dynasty's official name?", + "Who started the Yuan dynasty?", + "Who led the Mongolian Borjigin clan?", + "When did Khan formally declare the Yuan dynasty?" + ], + [ + "Where is Kenya located?", + "What is Kenya a founding member of?", + "What is the capitol of Kenya?", + "What country boarders the south of Kenya?", + "What was the population of Kenya in 2014?" + ], + [ + "What organization is the IPCC a part of?", + "What UN organizations established the IPCC?", + "What does the UN want to stabilize?", + "What is the UN's climate change treaty?", + "What UN resolution endorsed the IPCC?" + ], + [ + "What is the primary purpose of chloroplasts?", + "What does ATP store?", + "What does NADPH store?", + "What is the process of turning CO2 into organic molecules called?", + "How many chloroplasts per cell does algae have?" + ], + [ + "What is the only divisor besides 1 that a prime number can have?", + "What are numbers greater than 1 that can be divided by 3 or more numbers called?", + "What theorem defines the main role of primes in number theory?", + "Any number larger than 1 can be represented as a product of what?", + "Why must one be excluded in order to preserve the uniqueness of the fundamental theorem?" + ], + [ + "Where does the Rhine begin? ", + "Where does the Rhine empty?", + "What is the largest city the Rhine runs through? ", + "What river is larger than the Rhine?", + "How long is the Rhine?", + "Where is the Rhine? ", + "What country does the Rhine empty?", + "How long is the Rhine? " + ], + [ + "When was the current parliament of Scotland convened?", + "What act set out the Parliament's powers as a devolved legislature?", + "The legislative competence of the Parliament species what areas?", + "To what body are certain powers explicitly specified as being reserved for?", + "The Scottish Parliament may legislate as it pleases as long as the powers aren't already reserved by where?" + ], + [ + "What is an Islamic revival movement?", + "What aspects of life does Islamism seek to integrate itself into?", + "What goal does Islamism have when it comes to society and government?", + "What have the two different Islamist movements been described as oscillating between?", + "One strategy of Islamization is to seize power by what methods?" + ], + [ + "The word imperialism has it's origins in which ancient language? ", + "By what means is imperialism usually administered?", + "The term imperialism has been applied to western countries, and which eastern county?", + "Imperialism is responsible for the rapid spread of what?" + ], + [ + "What does UMC stand for?", + "What is the United Methodist Church?", + "When was the UMC founded?", + "Who founded the UMC?", + "What is the church's theological orientation?" + ], + [ + "When was the French and Indian War?", + "Who fought in the French and Indian war?", + "How many people were in French North American Colonies?", + "How many people were in British North American Colonies?" + ], + [ + "What concept did philosophers in antiquity use to study simple machines?", + "What was the belief that maintaining motion required force?", + "Who had mathmatical insite?", + "How long did it take to improve on Sir Isaac Newton's laws of motion?", + "Who develped the theory of relativity?" + ] + ] +} \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/vocab.txt b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/vocab.txt new file mode 100644 index 00000000..8c2f9424 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/assets/vocab.txt @@ -0,0 +1,30522 @@ +[PAD] +[unused0] +[unused1] +[unused2] +[unused3] +[unused4] +[unused5] +[unused6] +[unused7] +[unused8] +[unused9] +[unused10] +[unused11] +[unused12] +[unused13] +[unused14] +[unused15] +[unused16] +[unused17] +[unused18] +[unused19] +[unused20] +[unused21] +[unused22] +[unused23] +[unused24] +[unused25] +[unused26] +[unused27] +[unused28] +[unused29] +[unused30] +[unused31] +[unused32] +[unused33] +[unused34] +[unused35] +[unused36] +[unused37] +[unused38] +[unused39] +[unused40] +[unused41] +[unused42] +[unused43] +[unused44] +[unused45] +[unused46] +[unused47] +[unused48] +[unused49] +[unused50] +[unused51] +[unused52] +[unused53] +[unused54] +[unused55] +[unused56] +[unused57] +[unused58] +[unused59] +[unused60] +[unused61] +[unused62] +[unused63] +[unused64] +[unused65] +[unused66] +[unused67] +[unused68] +[unused69] +[unused70] +[unused71] +[unused72] +[unused73] +[unused74] +[unused75] +[unused76] +[unused77] +[unused78] +[unused79] +[unused80] +[unused81] +[unused82] +[unused83] +[unused84] +[unused85] +[unused86] +[unused87] +[unused88] +[unused89] +[unused90] +[unused91] +[unused92] +[unused93] +[unused94] +[unused95] +[unused96] +[unused97] +[unused98] +[UNK] +[CLS] +[SEP] +[MASK] +[unused99] +[unused100] +[unused101] +[unused102] +[unused103] +[unused104] +[unused105] +[unused106] +[unused107] +[unused108] +[unused109] +[unused110] +[unused111] +[unused112] +[unused113] +[unused114] +[unused115] +[unused116] +[unused117] +[unused118] +[unused119] +[unused120] +[unused121] +[unused122] +[unused123] +[unused124] +[unused125] +[unused126] +[unused127] +[unused128] +[unused129] +[unused130] +[unused131] +[unused132] +[unused133] +[unused134] +[unused135] +[unused136] +[unused137] +[unused138] +[unused139] +[unused140] +[unused141] +[unused142] +[unused143] +[unused144] +[unused145] +[unused146] +[unused147] +[unused148] +[unused149] +[unused150] +[unused151] +[unused152] +[unused153] +[unused154] +[unused155] +[unused156] +[unused157] +[unused158] +[unused159] +[unused160] +[unused161] +[unused162] +[unused163] +[unused164] +[unused165] +[unused166] +[unused167] +[unused168] +[unused169] +[unused170] +[unused171] +[unused172] +[unused173] +[unused174] +[unused175] +[unused176] +[unused177] +[unused178] +[unused179] +[unused180] +[unused181] +[unused182] +[unused183] +[unused184] +[unused185] +[unused186] +[unused187] +[unused188] +[unused189] +[unused190] +[unused191] +[unused192] +[unused193] +[unused194] +[unused195] +[unused196] +[unused197] +[unused198] +[unused199] +[unused200] +[unused201] +[unused202] +[unused203] +[unused204] +[unused205] +[unused206] +[unused207] +[unused208] +[unused209] +[unused210] +[unused211] +[unused212] +[unused213] +[unused214] +[unused215] +[unused216] +[unused217] +[unused218] +[unused219] +[unused220] +[unused221] +[unused222] +[unused223] +[unused224] +[unused225] +[unused226] +[unused227] +[unused228] +[unused229] +[unused230] +[unused231] +[unused232] +[unused233] +[unused234] +[unused235] +[unused236] +[unused237] +[unused238] +[unused239] +[unused240] +[unused241] +[unused242] +[unused243] +[unused244] +[unused245] +[unused246] +[unused247] +[unused248] +[unused249] +[unused250] +[unused251] +[unused252] +[unused253] +[unused254] +[unused255] +[unused256] +[unused257] +[unused258] +[unused259] +[unused260] +[unused261] +[unused262] +[unused263] +[unused264] +[unused265] +[unused266] +[unused267] +[unused268] +[unused269] +[unused270] +[unused271] +[unused272] +[unused273] +[unused274] +[unused275] +[unused276] +[unused277] +[unused278] +[unused279] +[unused280] +[unused281] +[unused282] +[unused283] +[unused284] +[unused285] +[unused286] +[unused287] +[unused288] +[unused289] +[unused290] +[unused291] +[unused292] +[unused293] +[unused294] +[unused295] +[unused296] +[unused297] +[unused298] +[unused299] +[unused300] +[unused301] +[unused302] +[unused303] +[unused304] +[unused305] +[unused306] +[unused307] +[unused308] +[unused309] +[unused310] +[unused311] +[unused312] +[unused313] +[unused314] +[unused315] +[unused316] +[unused317] +[unused318] +[unused319] +[unused320] +[unused321] +[unused322] +[unused323] +[unused324] +[unused325] +[unused326] +[unused327] +[unused328] +[unused329] +[unused330] +[unused331] +[unused332] +[unused333] +[unused334] +[unused335] +[unused336] +[unused337] +[unused338] +[unused339] +[unused340] +[unused341] +[unused342] +[unused343] +[unused344] +[unused345] +[unused346] +[unused347] +[unused348] +[unused349] +[unused350] +[unused351] +[unused352] +[unused353] +[unused354] +[unused355] +[unused356] +[unused357] +[unused358] +[unused359] +[unused360] +[unused361] +[unused362] +[unused363] +[unused364] +[unused365] +[unused366] +[unused367] +[unused368] +[unused369] +[unused370] +[unused371] +[unused372] +[unused373] +[unused374] +[unused375] +[unused376] +[unused377] +[unused378] +[unused379] +[unused380] +[unused381] +[unused382] +[unused383] +[unused384] +[unused385] +[unused386] +[unused387] +[unused388] +[unused389] +[unused390] +[unused391] +[unused392] +[unused393] +[unused394] +[unused395] +[unused396] +[unused397] +[unused398] +[unused399] +[unused400] +[unused401] +[unused402] +[unused403] +[unused404] +[unused405] +[unused406] +[unused407] +[unused408] +[unused409] +[unused410] +[unused411] +[unused412] +[unused413] +[unused414] +[unused415] +[unused416] +[unused417] +[unused418] +[unused419] +[unused420] +[unused421] +[unused422] +[unused423] +[unused424] +[unused425] +[unused426] +[unused427] +[unused428] +[unused429] +[unused430] +[unused431] +[unused432] +[unused433] +[unused434] +[unused435] +[unused436] +[unused437] +[unused438] +[unused439] +[unused440] +[unused441] +[unused442] +[unused443] +[unused444] +[unused445] +[unused446] +[unused447] +[unused448] +[unused449] +[unused450] +[unused451] +[unused452] +[unused453] +[unused454] +[unused455] +[unused456] +[unused457] +[unused458] +[unused459] +[unused460] +[unused461] +[unused462] +[unused463] +[unused464] +[unused465] +[unused466] +[unused467] +[unused468] +[unused469] +[unused470] +[unused471] +[unused472] +[unused473] +[unused474] +[unused475] +[unused476] +[unused477] +[unused478] +[unused479] +[unused480] +[unused481] +[unused482] +[unused483] +[unused484] +[unused485] +[unused486] +[unused487] +[unused488] +[unused489] +[unused490] +[unused491] +[unused492] +[unused493] +[unused494] +[unused495] +[unused496] +[unused497] +[unused498] +[unused499] +[unused500] +[unused501] +[unused502] +[unused503] +[unused504] +[unused505] +[unused506] +[unused507] +[unused508] +[unused509] +[unused510] +[unused511] +[unused512] +[unused513] +[unused514] +[unused515] +[unused516] +[unused517] +[unused518] +[unused519] +[unused520] +[unused521] +[unused522] +[unused523] +[unused524] +[unused525] +[unused526] +[unused527] +[unused528] +[unused529] +[unused530] +[unused531] +[unused532] +[unused533] +[unused534] +[unused535] +[unused536] +[unused537] +[unused538] +[unused539] +[unused540] +[unused541] +[unused542] +[unused543] +[unused544] +[unused545] +[unused546] +[unused547] +[unused548] +[unused549] +[unused550] +[unused551] +[unused552] +[unused553] +[unused554] +[unused555] +[unused556] +[unused557] +[unused558] +[unused559] +[unused560] +[unused561] +[unused562] +[unused563] +[unused564] +[unused565] +[unused566] +[unused567] +[unused568] +[unused569] +[unused570] +[unused571] +[unused572] +[unused573] +[unused574] +[unused575] +[unused576] +[unused577] +[unused578] +[unused579] +[unused580] +[unused581] +[unused582] +[unused583] +[unused584] +[unused585] +[unused586] +[unused587] +[unused588] +[unused589] +[unused590] +[unused591] +[unused592] +[unused593] +[unused594] +[unused595] +[unused596] +[unused597] +[unused598] +[unused599] +[unused600] +[unused601] +[unused602] +[unused603] +[unused604] +[unused605] +[unused606] +[unused607] +[unused608] +[unused609] +[unused610] +[unused611] +[unused612] +[unused613] +[unused614] +[unused615] +[unused616] +[unused617] +[unused618] +[unused619] +[unused620] +[unused621] +[unused622] +[unused623] +[unused624] +[unused625] +[unused626] +[unused627] +[unused628] +[unused629] +[unused630] +[unused631] +[unused632] +[unused633] +[unused634] +[unused635] +[unused636] +[unused637] +[unused638] +[unused639] +[unused640] +[unused641] +[unused642] +[unused643] +[unused644] +[unused645] +[unused646] +[unused647] +[unused648] +[unused649] +[unused650] +[unused651] +[unused652] +[unused653] +[unused654] +[unused655] +[unused656] +[unused657] +[unused658] +[unused659] +[unused660] +[unused661] +[unused662] +[unused663] +[unused664] +[unused665] +[unused666] +[unused667] +[unused668] +[unused669] +[unused670] +[unused671] +[unused672] +[unused673] +[unused674] +[unused675] +[unused676] +[unused677] +[unused678] +[unused679] +[unused680] +[unused681] +[unused682] +[unused683] +[unused684] +[unused685] +[unused686] +[unused687] +[unused688] +[unused689] +[unused690] +[unused691] +[unused692] +[unused693] +[unused694] +[unused695] +[unused696] +[unused697] +[unused698] +[unused699] +[unused700] +[unused701] +[unused702] +[unused703] +[unused704] +[unused705] +[unused706] +[unused707] +[unused708] +[unused709] +[unused710] +[unused711] +[unused712] +[unused713] +[unused714] +[unused715] +[unused716] +[unused717] +[unused718] +[unused719] +[unused720] +[unused721] +[unused722] +[unused723] +[unused724] +[unused725] +[unused726] +[unused727] +[unused728] +[unused729] +[unused730] +[unused731] +[unused732] +[unused733] +[unused734] +[unused735] +[unused736] +[unused737] +[unused738] +[unused739] +[unused740] +[unused741] +[unused742] +[unused743] +[unused744] +[unused745] +[unused746] +[unused747] +[unused748] +[unused749] +[unused750] +[unused751] +[unused752] +[unused753] +[unused754] +[unused755] +[unused756] +[unused757] +[unused758] +[unused759] +[unused760] +[unused761] +[unused762] +[unused763] +[unused764] +[unused765] +[unused766] +[unused767] +[unused768] +[unused769] +[unused770] +[unused771] +[unused772] +[unused773] +[unused774] +[unused775] +[unused776] +[unused777] +[unused778] +[unused779] +[unused780] +[unused781] +[unused782] +[unused783] +[unused784] +[unused785] +[unused786] +[unused787] +[unused788] +[unused789] +[unused790] +[unused791] +[unused792] +[unused793] +[unused794] +[unused795] +[unused796] +[unused797] +[unused798] +[unused799] +[unused800] +[unused801] +[unused802] +[unused803] +[unused804] +[unused805] +[unused806] +[unused807] +[unused808] +[unused809] +[unused810] +[unused811] +[unused812] +[unused813] +[unused814] +[unused815] +[unused816] +[unused817] +[unused818] +[unused819] +[unused820] +[unused821] +[unused822] +[unused823] +[unused824] +[unused825] +[unused826] +[unused827] +[unused828] +[unused829] +[unused830] +[unused831] +[unused832] +[unused833] +[unused834] +[unused835] +[unused836] +[unused837] +[unused838] +[unused839] +[unused840] +[unused841] +[unused842] +[unused843] +[unused844] +[unused845] +[unused846] +[unused847] +[unused848] +[unused849] +[unused850] +[unused851] +[unused852] +[unused853] +[unused854] +[unused855] +[unused856] +[unused857] +[unused858] +[unused859] +[unused860] +[unused861] +[unused862] +[unused863] +[unused864] +[unused865] +[unused866] +[unused867] +[unused868] +[unused869] +[unused870] +[unused871] +[unused872] +[unused873] +[unused874] +[unused875] +[unused876] +[unused877] +[unused878] +[unused879] +[unused880] +[unused881] +[unused882] +[unused883] +[unused884] +[unused885] +[unused886] +[unused887] +[unused888] +[unused889] +[unused890] +[unused891] +[unused892] +[unused893] +[unused894] +[unused895] +[unused896] +[unused897] +[unused898] +[unused899] +[unused900] +[unused901] +[unused902] +[unused903] +[unused904] +[unused905] +[unused906] +[unused907] +[unused908] +[unused909] +[unused910] +[unused911] +[unused912] +[unused913] +[unused914] +[unused915] +[unused916] +[unused917] +[unused918] +[unused919] +[unused920] +[unused921] +[unused922] +[unused923] +[unused924] +[unused925] +[unused926] +[unused927] +[unused928] +[unused929] +[unused930] +[unused931] +[unused932] +[unused933] +[unused934] +[unused935] +[unused936] +[unused937] +[unused938] +[unused939] +[unused940] +[unused941] +[unused942] +[unused943] +[unused944] +[unused945] +[unused946] +[unused947] +[unused948] +[unused949] +[unused950] +[unused951] +[unused952] +[unused953] +[unused954] +[unused955] +[unused956] +[unused957] +[unused958] +[unused959] +[unused960] +[unused961] +[unused962] +[unused963] +[unused964] +[unused965] +[unused966] +[unused967] +[unused968] +[unused969] +[unused970] +[unused971] +[unused972] +[unused973] +[unused974] +[unused975] +[unused976] +[unused977] +[unused978] +[unused979] +[unused980] +[unused981] +[unused982] +[unused983] +[unused984] +[unused985] +[unused986] +[unused987] +[unused988] +[unused989] +[unused990] +[unused991] +[unused992] +[unused993] +! +" +# +$ +% +& +' +( +) +* ++ +, +- +. +/ +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +: +; +< += +> +? +@ +[ +\ +] +^ +_ +` +a +b +c +d +e +f +g +h +i +j +k +l +m +n +o +p +q +r +s +t +u +v +w +x +y +z +{ +| +} +~ +¡ +¢ +£ +¤ +¥ +¦ +§ +¨ +© +ª +« +¬ +® +° +± +² +³ +´ +µ +¶ +· +¹ +º +» +¼ +½ +¾ +¿ +× +ß +æ +ð +÷ +ø +þ +đ +ħ +ı +ł +ŋ +œ +ƒ +ɐ +ɑ +ɒ +ɔ +ɕ +ə +ɛ +ɡ +ɣ +ɨ +ɪ +ɫ +ɬ +ɯ +ɲ +ɴ +ɹ +ɾ +ʀ +ʁ +ʂ +ʃ +ʉ +ʊ +ʋ +ʌ +ʎ +ʐ +ʑ +ʒ +ʔ +ʰ +ʲ +ʳ +ʷ +ʸ +ʻ +ʼ +ʾ +ʿ +ˈ +ː +ˡ +ˢ +ˣ +ˤ +α +β +γ +δ +ε +ζ +η +θ +ι +κ +λ +μ +ν +ξ +ο +π +ρ +ς +σ +τ +υ +φ +χ +ψ +ω +а +б +в +г +д +е +ж +з +и +к +л +м +н +о +п +р +с +т +у +ф +х +ц +ч +ш +щ +ъ +ы +ь +э +ю +я +ђ +є +і +ј +љ +њ +ћ +ӏ +ա +բ +գ +դ +ե +թ +ի +լ +կ +հ +մ +յ +ն +ո +պ +ս +վ +տ +ր +ւ +ք +־ +א +ב +ג +ד +ה +ו +ז +ח +ט +י +ך +כ +ל +ם +מ +ן +נ +ס +ע +ף +פ +ץ +צ +ק +ר +ש +ת +، +ء +ا +ب +ة +ت +ث +ج +ح +خ +د +ذ +ر +ز +س +ش +ص +ض +ط +ظ +ع +غ +ـ +ف +ق +ك +ل +م +ن +ه +و +ى +ي +ٹ +پ +چ +ک +گ +ں +ھ +ہ +ی +ے +अ +आ +उ +ए +क +ख +ग +च +ज +ट +ड +ण +त +थ +द +ध +न +प +ब +भ +म +य +र +ल +व +श +ष +स +ह +ा +ि +ी +ो +। +॥ +ং +অ +আ +ই +উ +এ +ও +ক +খ +গ +চ +ছ +জ +ট +ড +ণ +ত +থ +দ +ধ +ন +প +ব +ভ +ম +য +র +ল +শ +ষ +স +হ +া +ি +ী +ে +க +ச +ட +த +ந +ன +ப +ம +ய +ர +ல +ள +வ +ா +ி +ு +ே +ை +ನ +ರ +ಾ +ක +ය +ර +ල +ව +ා +ก +ง +ต +ท +น +พ +ม +ย +ร +ล +ว +ส +อ +า +เ +་ +། +ག +ང +ད +ན +པ +བ +མ +འ +ར +ལ +ས +မ +ა +ბ +გ +დ +ე +ვ +თ +ი +კ +ლ +მ +ნ +ო +რ +ს +ტ +უ +ᄀ +ᄂ +ᄃ +ᄅ +ᄆ +ᄇ +ᄉ +ᄊ +ᄋ +ᄌ +ᄎ +ᄏ +ᄐ +ᄑ +ᄒ +ᅡ +ᅢ +ᅥ +ᅦ +ᅧ +ᅩ +ᅪ +ᅭ +ᅮ +ᅯ +ᅲ +ᅳ +ᅴ +ᅵ +ᆨ +ᆫ +ᆯ +ᆷ +ᆸ +ᆼ +ᴬ +ᴮ +ᴰ +ᴵ +ᴺ +ᵀ +ᵃ +ᵇ +ᵈ +ᵉ +ᵍ +ᵏ +ᵐ +ᵒ +ᵖ +ᵗ +ᵘ +ᵢ +ᵣ +ᵤ +ᵥ +ᶜ +ᶠ +‐ +‑ +‒ +– +— +― +‖ +‘ +’ +‚ +“ +” +„ +† +‡ +• +… +‰ +′ +″ +› +‿ +⁄ +⁰ +ⁱ +⁴ +⁵ +⁶ +⁷ +⁸ +⁹ +⁺ +⁻ +ⁿ +₀ +₁ +₂ +₃ +₄ +₅ +₆ +₇ +₈ +₉ +₊ +₍ +₎ +ₐ +ₑ +ₒ +ₓ +ₕ +ₖ +ₗ +ₘ +ₙ +ₚ +ₛ +ₜ +₤ +₩ +€ +₱ +₹ +ℓ +№ +ℝ +™ +⅓ +⅔ +← +↑ +→ +↓ +↔ +↦ +⇄ +⇌ +⇒ +∂ +∅ +∆ +∇ +∈ +− +∗ +∘ +√ +∞ +∧ +∨ +∩ +∪ +≈ +≡ +≤ +≥ +⊂ +⊆ +⊕ +⊗ +⋅ +─ +│ +■ +▪ +● +★ +☆ +☉ +♠ +♣ +♥ +♦ +♭ +♯ +⟨ +⟩ +ⱼ +⺩ +⺼ +⽥ +、 +。 +〈 +〉 +《 +》 +「 +」 +『 +』 +〜 +あ +い +う +え +お +か +き +く +け +こ +さ +し +す +せ +そ +た +ち +っ +つ +て +と +な +に +ぬ +ね +の +は +ひ +ふ +へ +ほ +ま +み +む +め +も +や +ゆ +よ +ら +り +る +れ +ろ +を +ん +ァ +ア +ィ +イ +ウ +ェ +エ +オ +カ +キ +ク +ケ +コ +サ +シ +ス +セ +タ +チ +ッ +ツ +テ +ト +ナ +ニ +ノ +ハ +ヒ +フ +ヘ +ホ +マ +ミ +ム +メ +モ +ャ +ュ +ョ +ラ +リ +ル +レ +ロ +ワ +ン +・ +ー +一 +三 +上 +下 +不 +世 +中 +主 +久 +之 +也 +事 +二 +五 +井 +京 +人 +亻 +仁 +介 +代 +仮 +伊 +会 +佐 +侍 +保 +信 +健 +元 +光 +八 +公 +内 +出 +分 +前 +劉 +力 +加 +勝 +北 +区 +十 +千 +南 +博 +原 +口 +古 +史 +司 +合 +吉 +同 +名 +和 +囗 +四 +国 +國 +土 +地 +坂 +城 +堂 +場 +士 +夏 +外 +大 +天 +太 +夫 +奈 +女 +子 +学 +宀 +宇 +安 +宗 +定 +宣 +宮 +家 +宿 +寺 +將 +小 +尚 +山 +岡 +島 +崎 +川 +州 +巿 +帝 +平 +年 +幸 +广 +弘 +張 +彳 +後 +御 +德 +心 +忄 +志 +忠 +愛 +成 +我 +戦 +戸 +手 +扌 +政 +文 +新 +方 +日 +明 +星 +春 +昭 +智 +曲 +書 +月 +有 +朝 +木 +本 +李 +村 +東 +松 +林 +森 +楊 +樹 +橋 +歌 +止 +正 +武 +比 +氏 +民 +水 +氵 +氷 +永 +江 +沢 +河 +治 +法 +海 +清 +漢 +瀬 +火 +版 +犬 +王 +生 +田 +男 +疒 +発 +白 +的 +皇 +目 +相 +省 +真 +石 +示 +社 +神 +福 +禾 +秀 +秋 +空 +立 +章 +竹 +糹 +美 +義 +耳 +良 +艹 +花 +英 +華 +葉 +藤 +行 +街 +西 +見 +訁 +語 +谷 +貝 +貴 +車 +軍 +辶 +道 +郎 +郡 +部 +都 +里 +野 +金 +鈴 +镇 +長 +門 +間 +阝 +阿 +陳 +陽 +雄 +青 +面 +風 +食 +香 +馬 +高 +龍 +龸 +fi +fl +! +( +) +, +- +. +/ +: +? +~ +the +of +and +in +to +was +he +is +as +for +on +with +that +it +his +by +at +from +her +##s +she +you +had +an +were +but +be +this +are +not +my +they +one +which +or +have +him +me +first +all +also +their +has +up +who +out +been +when +after +there +into +new +two +its +##a +time +would +no +what +about +said +we +over +then +other +so +more +##e +can +if +like +back +them +only +some +could +##i +where +just +##ing +during +before +##n +do +##o +made +school +through +than +now +years +most +world +may +between +down +well +three +##d +year +while +will +##ed +##r +##y +later +##t +city +under +around +did +such +being +used +state +people +part +know +against +your +many +second +university +both +national +##er +these +don +known +off +way +until +re +how +even +get +head +... +didn +##ly +team +american +because +de +##l +born +united +film +since +still +long +work +south +us +became +any +high +again +day +family +see +right +man +eyes +house +season +war +states +including +took +life +north +same +each +called +name +much +place +however +go +four +group +another +found +won +area +here +going +10 +away +series +left +home +music +best +make +hand +number +company +several +never +last +john +000 +very +album +take +end +good +too +following +released +game +played +little +began +district +##m +old +want +those +side +held +own +early +county +ll +league +use +west +##u +face +think +##es +2010 +government +##h +march +came +small +general +town +june +##on +line +based +something +##k +september +thought +looked +along +international +2011 +air +july +club +went +january +october +our +august +april +york +12 +few +2012 +2008 +east +show +member +college +2009 +father +public +##us +come +men +five +set +station +church +##c +next +former +november +room +party +located +december +2013 +age +got +2007 +##g +system +let +love +2006 +though +every +2014 +look +song +water +century +without +body +black +night +within +great +women +single +ve +building +large +population +river +named +band +white +started +##an +once +15 +20 +should +18 +2015 +service +top +built +british +open +death +king +moved +local +times +children +february +book +why +11 +door +need +president +order +final +road +wasn +although +due +major +died +village +third +knew +2016 +asked +turned +st +wanted +say +##p +together +received +main +son +served +different +##en +behind +himself +felt +members +power +football +law +voice +play +##in +near +park +history +30 +having +2005 +16 +##man +saw +mother +##al +army +point +front +help +english +street +art +late +hands +games +award +##ia +young +14 +put +published +country +division +across +told +13 +often +ever +french +london +center +six +red +2017 +led +days +include +light +25 +find +tell +among +species +really +according +central +half +2004 +form +original +gave +office +making +enough +lost +full +opened +must +included +live +given +german +player +run +business +woman +community +cup +might +million +land +2000 +court +development +17 +short +round +ii +km +seen +class +story +always +become +sure +research +almost +director +council +la +##2 +career +things +using +island +##z +couldn +car +##is +24 +close +force +##1 +better +free +support +control +field +students +2003 +education +married +##b +nothing +worked +others +record +big +inside +level +anything +continued +give +james +##3 +military +established +non +returned +feel +does +title +written +thing +feet +william +far +co +association +hard +already +2002 +##ra +championship +human +western +100 +##na +department +hall +role +various +production +21 +19 +heart +2001 +living +fire +version +##ers +##f +television +royal +##4 +produced +working +act +case +society +region +present +radio +period +looking +least +total +keep +england +wife +program +per +brother +mind +special +22 +##le +am +works +soon +##6 +political +george +services +taken +created +##7 +further +able +reached +david +union +joined +upon +done +important +social +information +either +##ic +##x +appeared +position +ground +lead +rock +dark +election +23 +board +france +hair +course +arms +site +police +girl +instead +real +sound +##v +words +moment +##te +someone +##8 +summer +project +announced +san +less +wrote +past +followed +##5 +blue +founded +al +finally +india +taking +records +america +##ne +1999 +design +considered +northern +god +stop +battle +toward +european +outside +described +track +today +playing +language +28 +call +26 +heard +professional +low +australia +miles +california +win +yet +green +##ie +trying +blood +##ton +southern +science +maybe +everything +match +square +27 +mouth +video +race +recorded +leave +above +##9 +daughter +points +space +1998 +museum +change +middle +common +##0 +move +tv +post +##ta +lake +seven +tried +elected +closed +ten +paul +minister +##th +months +start +chief +return +canada +person +sea +release +similar +modern +brought +rest +hit +formed +mr +##la +1997 +floor +event +doing +thomas +1996 +robert +care +killed +training +star +week +needed +turn +finished +railway +rather +news +health +sent +example +ran +term +michael +coming +currently +yes +forces +despite +gold +areas +50 +stage +fact +29 +dead +says +popular +2018 +originally +germany +probably +developed +result +pulled +friend +stood +money +running +mi +signed +word +songs +child +eventually +met +tour +average +teams +minutes +festival +current +deep +kind +1995 +decided +usually +eastern +seemed +##ness +episode +bed +added +table +indian +private +charles +route +available +idea +throughout +centre +addition +appointed +style +1994 +books +eight +construction +press +mean +wall +friends +remained +schools +study +##ch +##um +institute +oh +chinese +sometimes +events +possible +1992 +australian +type +brown +forward +talk +process +food +debut +seat +performance +committee +features +character +arts +herself +else +lot +strong +russian +range +hours +peter +arm +##da +morning +dr +sold +##ry +quickly +directed +1993 +guitar +china +##w +31 +list +##ma +performed +media +uk +players +smile +##rs +myself +40 +placed +coach +province +towards +wouldn +leading +whole +boy +official +designed +grand +census +##el +europe +attack +japanese +henry +1991 +##re +##os +cross +getting +alone +action +lower +network +wide +washington +japan +1990 +hospital +believe +changed +sister +##ar +hold +gone +sir +hadn +ship +##ka +studies +academy +shot +rights +below +base +bad +involved +kept +largest +##ist +bank +future +especially +beginning +mark +movement +section +female +magazine +plan +professor +lord +longer +##ian +sat +walked +hill +actually +civil +energy +model +families +size +thus +aircraft +completed +includes +data +captain +##or +fight +vocals +featured +richard +bridge +fourth +1989 +officer +stone +hear +##ism +means +medical +groups +management +self +lips +competition +entire +lived +technology +leaving +federal +tournament +bit +passed +hot +independent +awards +kingdom +mary +spent +fine +doesn +reported +##ling +jack +fall +raised +itself +stay +true +studio +1988 +sports +replaced +paris +systems +saint +leader +theatre +whose +market +capital +parents +spanish +canadian +earth +##ity +cut +degree +writing +bay +christian +awarded +natural +higher +bill +##as +coast +provided +previous +senior +ft +valley +organization +stopped +onto +countries +parts +conference +queen +security +interest +saying +allowed +master +earlier +phone +matter +smith +winning +try +happened +moving +campaign +los +##ley +breath +nearly +mid +1987 +certain +girls +date +italian +african +standing +fell +artist +##ted +shows +deal +mine +industry +1986 +##ng +everyone +republic +provide +collection +library +student +##ville +primary +owned +older +via +heavy +1st +makes +##able +attention +anyone +africa +##ri +stated +length +ended +fingers +command +staff +skin +foreign +opening +governor +okay +medal +kill +sun +cover +job +1985 +introduced +chest +hell +feeling +##ies +success +meet +reason +standard +meeting +novel +1984 +trade +source +buildings +##land +rose +guy +goal +##ur +chapter +native +husband +previously +unit +limited +entered +weeks +producer +operations +mountain +takes +covered +forced +related +roman +complete +successful +key +texas +cold +##ya +channel +1980 +traditional +films +dance +clear +approximately +500 +nine +van +prince +question +active +tracks +ireland +regional +silver +author +personal +sense +operation +##ine +economic +1983 +holding +twenty +isbn +additional +speed +hour +edition +regular +historic +places +whom +shook +movie +km² +secretary +prior +report +chicago +read +foundation +view +engine +scored +1982 +units +ask +airport +property +ready +immediately +lady +month +listed +contract +##de +manager +themselves +lines +##ki +navy +writer +meant +##ts +runs +##ro +practice +championships +singer +glass +commission +required +forest +starting +culture +generally +giving +access +attended +test +couple +stand +catholic +martin +caught +executive +##less +eye +##ey +thinking +chair +quite +shoulder +1979 +hope +decision +plays +defeated +municipality +whether +structure +offered +slowly +pain +ice +direction +##ion +paper +mission +1981 +mostly +200 +noted +individual +managed +nature +lives +plant +##ha +helped +except +studied +computer +figure +relationship +issue +significant +loss +die +smiled +gun +ago +highest +1972 +##am +male +bring +goals +mexico +problem +distance +commercial +completely +location +annual +famous +drive +1976 +neck +1978 +surface +caused +italy +understand +greek +highway +wrong +hotel +comes +appearance +joseph +double +issues +musical +companies +castle +income +review +assembly +bass +initially +parliament +artists +experience +1974 +particular +walk +foot +engineering +talking +window +dropped +##ter +miss +baby +boys +break +1975 +stars +edge +remember +policy +carried +train +stadium +bar +sex +angeles +evidence +##ge +becoming +assistant +soviet +1977 +upper +step +wing +1970 +youth +financial +reach +##ll +actor +numerous +##se +##st +nodded +arrived +##ation +minute +##nt +believed +sorry +complex +beautiful +victory +associated +temple +1968 +1973 +chance +perhaps +metal +##son +1945 +bishop +##et +lee +launched +particularly +tree +le +retired +subject +prize +contains +yeah +theory +empire +##ce +suddenly +waiting +trust +recording +##to +happy +terms +camp +champion +1971 +religious +pass +zealand +names +2nd +port +ancient +tom +corner +represented +watch +legal +anti +justice +cause +watched +brothers +45 +material +changes +simply +response +louis +fast +##ting +answer +60 +historical +1969 +stories +straight +create +feature +increased +rate +administration +virginia +el +activities +cultural +overall +winner +programs +basketball +legs +guard +beyond +cast +doctor +mm +flight +results +remains +cost +effect +winter +##ble +larger +islands +problems +chairman +grew +commander +isn +1967 +pay +failed +selected +hurt +fort +box +regiment +majority +journal +35 +edward +plans +##ke +##ni +shown +pretty +irish +characters +directly +scene +likely +operated +allow +spring +##j +junior +matches +looks +mike +houses +fellow +##tion +beach +marriage +##ham +##ive +rules +oil +65 +florida +expected +nearby +congress +sam +peace +recent +iii +wait +subsequently +cell +##do +variety +serving +agreed +please +poor +joe +pacific +attempt +wood +democratic +piece +prime +##ca +rural +mile +touch +appears +township +1964 +1966 +soldiers +##men +##ized +1965 +pennsylvania +closer +fighting +claimed +score +jones +physical +editor +##ous +filled +genus +specific +sitting +super +mom +##va +therefore +supported +status +fear +cases +store +meaning +wales +minor +spain +tower +focus +vice +frank +follow +parish +separate +golden +horse +fifth +remaining +branch +32 +presented +stared +##id +uses +secret +forms +##co +baseball +exactly +##ck +choice +note +discovered +travel +composed +truth +russia +ball +color +kiss +dad +wind +continue +ring +referred +numbers +digital +greater +##ns +metres +slightly +direct +increase +1960 +responsible +crew +rule +trees +troops +##no +broke +goes +individuals +hundred +weight +creek +sleep +memory +defense +provides +ordered +code +value +jewish +windows +1944 +safe +judge +whatever +corps +realized +growing +pre +##ga +cities +alexander +gaze +lies +spread +scott +letter +showed +situation +mayor +transport +watching +workers +extended +##li +expression +normal +##ment +chart +multiple +border +##ba +host +##ner +daily +mrs +walls +piano +##ko +heat +cannot +##ate +earned +products +drama +era +authority +seasons +join +grade +##io +sign +difficult +machine +1963 +territory +mainly +##wood +stations +squadron +1962 +stepped +iron +19th +##led +serve +appear +sky +speak +broken +charge +knowledge +kilometres +removed +ships +article +campus +simple +##ty +pushed +britain +##ve +leaves +recently +cd +soft +boston +latter +easy +acquired +poland +##sa +quality +officers +presence +planned +nations +mass +broadcast +jean +share +image +influence +wild +offer +emperor +electric +reading +headed +ability +promoted +yellow +ministry +1942 +throat +smaller +politician +##by +latin +spoke +cars +williams +males +lack +pop +80 +##ier +acting +seeing +consists +##ti +estate +1961 +pressure +johnson +newspaper +jr +chris +olympics +online +conditions +beat +elements +walking +vote +##field +needs +carolina +text +featuring +global +block +shirt +levels +francisco +purpose +females +et +dutch +duke +ahead +gas +twice +safety +serious +turning +highly +lieutenant +firm +maria +amount +mixed +daniel +proposed +perfect +agreement +affairs +3rd +seconds +contemporary +paid +1943 +prison +save +kitchen +label +administrative +intended +constructed +academic +nice +teacher +races +1956 +formerly +corporation +ben +nation +issued +shut +1958 +drums +housing +victoria +seems +opera +1959 +graduated +function +von +mentioned +picked +build +recognized +shortly +protection +picture +notable +exchange +elections +1980s +loved +percent +racing +fish +elizabeth +garden +volume +hockey +1941 +beside +settled +##ford +1940 +competed +replied +drew +1948 +actress +marine +scotland +steel +glanced +farm +steve +1957 +risk +tonight +positive +magic +singles +effects +gray +screen +dog +##ja +residents +bus +sides +none +secondary +literature +polish +destroyed +flying +founder +households +1939 +lay +reserve +usa +gallery +##ler +1946 +industrial +younger +approach +appearances +urban +ones +1950 +finish +avenue +powerful +fully +growth +page +honor +jersey +projects +advanced +revealed +basic +90 +infantry +pair +equipment +visit +33 +evening +search +grant +effort +solo +treatment +buried +republican +primarily +bottom +owner +1970s +israel +gives +jim +dream +bob +remain +spot +70 +notes +produce +champions +contact +ed +soul +accepted +ways +del +##ally +losing +split +price +capacity +basis +trial +questions +##ina +1955 +20th +guess +officially +memorial +naval +initial +##ization +whispered +median +engineer +##ful +sydney +##go +columbia +strength +300 +1952 +tears +senate +00 +card +asian +agent +1947 +software +44 +draw +warm +supposed +com +pro +##il +transferred +leaned +##at +candidate +escape +mountains +asia +potential +activity +entertainment +seem +traffic +jackson +murder +36 +slow +product +orchestra +haven +agency +bbc +taught +website +comedy +unable +storm +planning +albums +rugby +environment +scientific +grabbed +protect +##hi +boat +typically +1954 +1953 +damage +principal +divided +dedicated +mount +ohio +##berg +pick +fought +driver +##der +empty +shoulders +sort +thank +berlin +prominent +account +freedom +necessary +efforts +alex +headquarters +follows +alongside +des +simon +andrew +suggested +operating +learning +steps +1949 +sweet +technical +begin +easily +34 +teeth +speaking +settlement +scale +##sh +renamed +ray +max +enemy +semi +joint +compared +##rd +scottish +leadership +analysis +offers +georgia +pieces +captured +animal +deputy +guest +organized +##lin +tony +combined +method +challenge +1960s +huge +wants +battalion +sons +rise +crime +types +facilities +telling +path +1951 +platform +sit +1990s +##lo +tells +assigned +rich +pull +##ot +commonly +alive +##za +letters +concept +conducted +wearing +happen +bought +becomes +holy +gets +ocean +defeat +languages +purchased +coffee +occurred +titled +##q +declared +applied +sciences +concert +sounds +jazz +brain +##me +painting +fleet +tax +nick +##ius +michigan +count +animals +leaders +episodes +##line +content +##den +birth +##it +clubs +64 +palace +critical +refused +fair +leg +laughed +returning +surrounding +participated +formation +lifted +pointed +connected +rome +medicine +laid +taylor +santa +powers +adam +tall +shared +focused +knowing +yards +entrance +falls +##wa +calling +##ad +sources +chosen +beneath +resources +yard +##ite +nominated +silence +zone +defined +##que +gained +thirty +38 +bodies +moon +##ard +adopted +christmas +widely +register +apart +iran +premier +serves +du +unknown +parties +##les +generation +##ff +continues +quick +fields +brigade +quiet +teaching +clothes +impact +weapons +partner +flat +theater +supreme +1938 +37 +relations +##tor +plants +suffered +1936 +wilson +kids +begins +##age +1918 +seats +armed +internet +models +worth +laws +400 +communities +classes +background +knows +thanks +quarter +reaching +humans +carry +killing +format +kong +hong +setting +75 +architecture +disease +railroad +inc +possibly +wish +arthur +thoughts +harry +doors +density +##di +crowd +illinois +stomach +tone +unique +reports +anyway +##ir +liberal +der +vehicle +thick +dry +drug +faced +largely +facility +theme +holds +creation +strange +colonel +##mi +revolution +bell +politics +turns +silent +rail +relief +independence +combat +shape +write +determined +sales +learned +4th +finger +oxford +providing +1937 +heritage +fiction +situated +designated +allowing +distribution +hosted +##est +sight +interview +estimated +reduced +##ria +toronto +footballer +keeping +guys +damn +claim +motion +sport +sixth +stayed +##ze +en +rear +receive +handed +twelve +dress +audience +granted +brazil +##well +spirit +##ated +noticed +etc +olympic +representative +eric +tight +trouble +reviews +drink +vampire +missing +roles +ranked +newly +household +finals +wave +critics +##ee +phase +massachusetts +pilot +unlike +philadelphia +bright +guns +crown +organizations +roof +42 +respectively +clearly +tongue +marked +circle +fox +korea +bronze +brian +expanded +sexual +supply +yourself +inspired +labour +fc +##ah +reference +vision +draft +connection +brand +reasons +1935 +classic +driving +trip +jesus +cells +entry +1920 +neither +trail +claims +atlantic +orders +labor +nose +afraid +identified +intelligence +calls +cancer +attacked +passing +stephen +positions +imperial +grey +jason +39 +sunday +48 +swedish +avoid +extra +uncle +message +covers +allows +surprise +materials +fame +hunter +##ji +1930 +citizens +figures +davis +environmental +confirmed +shit +titles +di +performing +difference +acts +attacks +##ov +existing +votes +opportunity +nor +shop +entirely +trains +opposite +pakistan +##pa +develop +resulted +representatives +actions +reality +pressed +##ish +barely +wine +conversation +faculty +northwest +ends +documentary +nuclear +stock +grace +sets +eat +alternative +##ps +bag +resulting +creating +surprised +cemetery +1919 +drop +finding +sarah +cricket +streets +tradition +ride +1933 +exhibition +target +ear +explained +rain +composer +injury +apartment +municipal +educational +occupied +netherlands +clean +billion +constitution +learn +1914 +maximum +classical +francis +lose +opposition +jose +ontario +bear +core +hills +rolled +ending +drawn +permanent +fun +##tes +##lla +lewis +sites +chamber +ryan +##way +scoring +height +1934 +##house +lyrics +staring +55 +officials +1917 +snow +oldest +##tic +orange +##ger +qualified +interior +apparently +succeeded +thousand +dinner +lights +existence +fans +heavily +41 +greatest +conservative +send +bowl +plus +enter +catch +##un +economy +duty +1929 +speech +authorities +princess +performances +versions +shall +graduate +pictures +effective +remembered +poetry +desk +crossed +starring +starts +passenger +sharp +##ant +acres +ass +weather +falling +rank +fund +supporting +check +adult +publishing +heads +cm +southeast +lane +##burg +application +bc +##ura +les +condition +transfer +prevent +display +ex +regions +earl +federation +cool +relatively +answered +besides +1928 +obtained +portion +##town +mix +##ding +reaction +liked +dean +express +peak +1932 +##tte +counter +religion +chain +rare +miller +convention +aid +lie +vehicles +mobile +perform +squad +wonder +lying +crazy +sword +##ping +attempted +centuries +weren +philosophy +category +##ize +anna +interested +47 +sweden +wolf +frequently +abandoned +kg +literary +alliance +task +entitled +##ay +threw +promotion +factory +tiny +soccer +visited +matt +fm +achieved +52 +defence +internal +persian +43 +methods +##ging +arrested +otherwise +cambridge +programming +villages +elementary +districts +rooms +criminal +conflict +worry +trained +1931 +attempts +waited +signal +bird +truck +subsequent +programme +##ol +ad +49 +communist +details +faith +sector +patrick +carrying +laugh +##ss +controlled +korean +showing +origin +fuel +evil +1927 +##ent +brief +identity +darkness +address +pool +missed +publication +web +planet +ian +anne +wings +invited +##tt +briefly +standards +kissed +##be +ideas +climate +causing +walter +worse +albert +articles +winners +desire +aged +northeast +dangerous +gate +doubt +1922 +wooden +multi +##ky +poet +rising +funding +46 +communications +communication +violence +copies +prepared +ford +investigation +skills +1924 +pulling +electronic +##ak +##ial +##han +containing +ultimately +offices +singing +understanding +restaurant +tomorrow +fashion +christ +ward +da +pope +stands +5th +flow +studios +aired +commissioned +contained +exist +fresh +americans +##per +wrestling +approved +kid +employed +respect +suit +1925 +angel +asking +increasing +frame +angry +selling +1950s +thin +finds +##nd +temperature +statement +ali +explain +inhabitants +towns +extensive +narrow +51 +jane +flowers +images +promise +somewhere +object +fly +closely +##ls +1912 +bureau +cape +1926 +weekly +presidential +legislative +1921 +##ai +##au +launch +founding +##ny +978 +##ring +artillery +strike +un +institutions +roll +writers +landing +chose +kevin +anymore +pp +##ut +attorney +fit +dan +billboard +receiving +agricultural +breaking +sought +dave +admitted +lands +mexican +##bury +charlie +specifically +hole +iv +howard +credit +moscow +roads +accident +1923 +proved +wear +struck +hey +guards +stuff +slid +expansion +1915 +cat +anthony +##kin +melbourne +opposed +sub +southwest +architect +failure +plane +1916 +##ron +map +camera +tank +listen +regarding +wet +introduction +metropolitan +link +ep +fighter +inch +grown +gene +anger +fixed +buy +dvd +khan +domestic +worldwide +chapel +mill +functions +examples +##head +developing +1910 +turkey +hits +pocket +antonio +papers +grow +unless +circuit +18th +concerned +attached +journalist +selection +journey +converted +provincial +painted +hearing +aren +bands +negative +aside +wondered +knight +lap +survey +ma +##ow +noise +billy +##ium +shooting +guide +bedroom +priest +resistance +motor +homes +sounded +giant +##mer +150 +scenes +equal +comic +patients +hidden +solid +actual +bringing +afternoon +touched +funds +wedding +consisted +marie +canal +sr +kim +treaty +turkish +recognition +residence +cathedral +broad +knees +incident +shaped +fired +norwegian +handle +cheek +contest +represent +##pe +representing +beauty +##sen +birds +advantage +emergency +wrapped +drawing +notice +pink +broadcasting +##ong +somehow +bachelor +seventh +collected +registered +establishment +alan +assumed +chemical +personnel +roger +retirement +jeff +portuguese +wore +tied +device +threat +progress +advance +##ised +banks +hired +manchester +nfl +teachers +structures +forever +##bo +tennis +helping +saturday +sale +applications +junction +hip +incorporated +neighborhood +dressed +ceremony +##ds +influenced +hers +visual +stairs +decades +inner +kansas +hung +hoped +gain +scheduled +downtown +engaged +austria +clock +norway +certainly +pale +protected +1913 +victor +employees +plate +putting +surrounded +##ists +finishing +blues +tropical +##ries +minnesota +consider +philippines +accept +54 +retrieved +1900 +concern +anderson +properties +institution +gordon +successfully +vietnam +##dy +backing +outstanding +muslim +crossing +folk +producing +usual +demand +occurs +observed +lawyer +educated +##ana +kelly +string +pleasure +budget +items +quietly +colorado +philip +typical +##worth +derived +600 +survived +asks +mental +##ide +56 +jake +jews +distinguished +ltd +1911 +sri +extremely +53 +athletic +loud +thousands +worried +shadow +transportation +horses +weapon +arena +importance +users +tim +objects +contributed +dragon +douglas +aware +senator +johnny +jordan +sisters +engines +flag +investment +samuel +shock +capable +clark +row +wheel +refers +session +familiar +biggest +wins +hate +maintained +drove +hamilton +request +expressed +injured +underground +churches +walker +wars +tunnel +passes +stupid +agriculture +softly +cabinet +regarded +joining +indiana +##ea +##ms +push +dates +spend +behavior +woods +protein +gently +chase +morgan +mention +burning +wake +combination +occur +mirror +leads +jimmy +indeed +impossible +singapore +paintings +covering +##nes +soldier +locations +attendance +sell +historian +wisconsin +invasion +argued +painter +diego +changing +egypt +##don +experienced +inches +##ku +missouri +vol +grounds +spoken +switzerland +##gan +reform +rolling +ha +forget +massive +resigned +burned +allen +tennessee +locked +values +improved +##mo +wounded +universe +sick +dating +facing +pack +purchase +user +##pur +moments +##ul +merged +anniversary +1908 +coal +brick +understood +causes +dynasty +queensland +establish +stores +crisis +promote +hoping +views +cards +referee +extension +##si +raise +arizona +improve +colonial +formal +charged +##rt +palm +lucky +hide +rescue +faces +95 +feelings +candidates +juan +##ell +goods +6th +courses +weekend +59 +luke +cash +fallen +##om +delivered +affected +installed +carefully +tries +swiss +hollywood +costs +lincoln +responsibility +##he +shore +file +proper +normally +maryland +assistance +jump +constant +offering +friendly +waters +persons +realize +contain +trophy +800 +partnership +factor +58 +musicians +cry +bound +oregon +indicated +hero +houston +medium +##ure +consisting +somewhat +##ara +57 +cycle +##che +beer +moore +frederick +gotten +eleven +worst +weak +approached +arranged +chin +loan +universal +bond +fifteen +pattern +disappeared +##ney +translated +##zed +lip +arab +capture +interests +insurance +##chi +shifted +cave +prix +warning +sections +courts +coat +plot +smell +feed +golf +favorite +maintain +knife +vs +voted +degrees +finance +quebec +opinion +translation +manner +ruled +operate +productions +choose +musician +discovery +confused +tired +separated +stream +techniques +committed +attend +ranking +kings +throw +passengers +measure +horror +fan +mining +sand +danger +salt +calm +decade +dam +require +runner +##ik +rush +associate +greece +##ker +rivers +consecutive +matthew +##ski +sighed +sq +documents +steam +edited +closing +tie +accused +1905 +##ini +islamic +distributed +directors +organisation +bruce +7th +breathing +mad +lit +arrival +concrete +taste +08 +composition +shaking +faster +amateur +adjacent +stating +1906 +twin +flew +##ran +tokyo +publications +##tone +obviously +ridge +storage +1907 +carl +pages +concluded +desert +driven +universities +ages +terminal +sequence +borough +250 +constituency +creative +cousin +economics +dreams +margaret +notably +reduce +montreal +mode +17th +ears +saved +jan +vocal +##ica +1909 +andy +##jo +riding +roughly +threatened +##ise +meters +meanwhile +landed +compete +repeated +grass +czech +regularly +charges +tea +sudden +appeal +##ung +solution +describes +pierre +classification +glad +parking +##ning +belt +physics +99 +rachel +add +hungarian +participate +expedition +damaged +gift +childhood +85 +fifty +##red +mathematics +jumped +letting +defensive +mph +##ux +##gh +testing +##hip +hundreds +shoot +owners +matters +smoke +israeli +kentucky +dancing +mounted +grandfather +emma +designs +profit +argentina +##gs +truly +li +lawrence +cole +begun +detroit +willing +branches +smiling +decide +miami +enjoyed +recordings +##dale +poverty +ethnic +gay +##bi +gary +arabic +09 +accompanied +##one +##ons +fishing +determine +residential +acid +##ary +alice +returns +starred +mail +##ang +jonathan +strategy +##ue +net +forty +cook +businesses +equivalent +commonwealth +distinct +ill +##cy +seriously +##ors +##ped +shift +harris +replace +rio +imagine +formula +ensure +##ber +additionally +scheme +conservation +occasionally +purposes +feels +favor +##and +##ore +1930s +contrast +hanging +hunt +movies +1904 +instruments +victims +danish +christopher +busy +demon +sugar +earliest +colony +studying +balance +duties +##ks +belgium +slipped +carter +05 +visible +stages +iraq +fifa +##im +commune +forming +zero +07 +continuing +talked +counties +legend +bathroom +option +tail +clay +daughters +afterwards +severe +jaw +visitors +##ded +devices +aviation +russell +kate +##vi +entering +subjects +##ino +temporary +swimming +forth +smooth +ghost +audio +bush +operates +rocks +movements +signs +eddie +##tz +ann +voices +honorary +06 +memories +dallas +pure +measures +racial +promised +66 +harvard +ceo +16th +parliamentary +indicate +benefit +flesh +dublin +louisiana +1902 +1901 +patient +sleeping +1903 +membership +coastal +medieval +wanting +element +scholars +rice +62 +limit +survive +makeup +rating +definitely +collaboration +obvious +##tan +boss +ms +baron +birthday +linked +soil +diocese +##lan +ncaa +##mann +offensive +shell +shouldn +waist +##tus +plain +ross +organ +resolution +manufacturing +adding +relative +kennedy +98 +whilst +moth +marketing +gardens +crash +72 +heading +partners +credited +carlos +moves +cable +##zi +marshall +##out +depending +bottle +represents +rejected +responded +existed +04 +jobs +denmark +lock +##ating +treated +graham +routes +talent +commissioner +drugs +secure +tests +reign +restored +photography +##gi +contributions +oklahoma +designer +disc +grin +seattle +robin +paused +atlanta +unusual +##gate +praised +las +laughing +satellite +hungary +visiting +##sky +interesting +factors +deck +poems +norman +##water +stuck +speaker +rifle +domain +premiered +##her +dc +comics +actors +01 +reputation +eliminated +8th +ceiling +prisoners +script +##nce +leather +austin +mississippi +rapidly +admiral +parallel +charlotte +guilty +tools +gender +divisions +fruit +##bs +laboratory +nelson +fantasy +marry +rapid +aunt +tribe +requirements +aspects +suicide +amongst +adams +bone +ukraine +abc +kick +sees +edinburgh +clothing +column +rough +gods +hunting +broadway +gathered +concerns +##ek +spending +ty +12th +snapped +requires +solar +bones +cavalry +##tta +iowa +drinking +waste +index +franklin +charity +thompson +stewart +tip +flash +landscape +friday +enjoy +singh +poem +listening +##back +eighth +fred +differences +adapted +bomb +ukrainian +surgery +corporate +masters +anywhere +##more +waves +odd +sean +portugal +orleans +dick +debate +kent +eating +puerto +cleared +96 +expect +cinema +97 +guitarist +blocks +electrical +agree +involving +depth +dying +panel +struggle +##ged +peninsula +adults +novels +emerged +vienna +metro +debuted +shoes +tamil +songwriter +meets +prove +beating +instance +heaven +scared +sending +marks +artistic +passage +superior +03 +significantly +shopping +##tive +retained +##izing +malaysia +technique +cheeks +##ola +warren +maintenance +destroy +extreme +allied +120 +appearing +##yn +fill +advice +alabama +qualifying +policies +cleveland +hat +battery +smart +authors +10th +soundtrack +acted +dated +lb +glance +equipped +coalition +funny +outer +ambassador +roy +possibility +couples +campbell +dna +loose +ethan +supplies +1898 +gonna +88 +monster +##res +shake +agents +frequency +springs +dogs +practices +61 +gang +plastic +easier +suggests +gulf +blade +exposed +colors +industries +markets +pan +nervous +electoral +charts +legislation +ownership +##idae +mac +appointment +shield +copy +assault +socialist +abbey +monument +license +throne +employment +jay +93 +replacement +charter +cloud +powered +suffering +accounts +oak +connecticut +strongly +wright +colour +crystal +13th +context +welsh +networks +voiced +gabriel +jerry +##cing +forehead +mp +##ens +manage +schedule +totally +remix +##ii +forests +occupation +print +nicholas +brazilian +strategic +vampires +engineers +76 +roots +seek +correct +instrumental +und +alfred +backed +hop +##des +stanley +robinson +traveled +wayne +welcome +austrian +achieve +67 +exit +rates +1899 +strip +whereas +##cs +sing +deeply +adventure +bobby +rick +jamie +careful +components +cap +useful +personality +knee +##shi +pushing +hosts +02 +protest +ca +ottoman +symphony +##sis +63 +boundary +1890 +processes +considering +considerable +tons +##work +##ft +##nia +cooper +trading +dear +conduct +91 +illegal +apple +revolutionary +holiday +definition +harder +##van +jacob +circumstances +destruction +##lle +popularity +grip +classified +liverpool +donald +baltimore +flows +seeking +honour +approval +92 +mechanical +till +happening +statue +critic +increasingly +immediate +describe +commerce +stare +##ster +indonesia +meat +rounds +boats +baker +orthodox +depression +formally +worn +naked +claire +muttered +sentence +11th +emily +document +77 +criticism +wished +vessel +spiritual +bent +virgin +parker +minimum +murray +lunch +danny +printed +compilation +keyboards +false +blow +belonged +68 +raising +78 +cutting +##board +pittsburgh +##up +9th +shadows +81 +hated +indigenous +jon +15th +barry +scholar +ah +##zer +oliver +##gy +stick +susan +meetings +attracted +spell +romantic +##ver +ye +1895 +photo +demanded +customers +##ac +1896 +logan +revival +keys +modified +commanded +jeans +##ious +upset +raw +phil +detective +hiding +resident +vincent +##bly +experiences +diamond +defeating +coverage +lucas +external +parks +franchise +helen +bible +successor +percussion +celebrated +il +lift +profile +clan +romania +##ied +mills +##su +nobody +achievement +shrugged +fault +1897 +rhythm +initiative +breakfast +carbon +700 +69 +lasted +violent +74 +wound +ken +killer +gradually +filmed +°c +dollars +processing +94 +remove +criticized +guests +sang +chemistry +##vin +legislature +disney +##bridge +uniform +escaped +integrated +proposal +purple +denied +liquid +karl +influential +morris +nights +stones +intense +experimental +twisted +71 +84 +##ld +pace +nazi +mitchell +ny +blind +reporter +newspapers +14th +centers +burn +basin +forgotten +surviving +filed +collections +monastery +losses +manual +couch +description +appropriate +merely +tag +missions +sebastian +restoration +replacing +triple +73 +elder +julia +warriors +benjamin +julian +convinced +stronger +amazing +declined +versus +merchant +happens +output +finland +bare +barbara +absence +ignored +dawn +injuries +##port +producers +##ram +82 +luis +##ities +kw +admit +expensive +electricity +nba +exception +symbol +##ving +ladies +shower +sheriff +characteristics +##je +aimed +button +ratio +effectively +summit +angle +jury +bears +foster +vessels +pants +executed +evans +dozen +advertising +kicked +patrol +1889 +competitions +lifetime +principles +athletics +##logy +birmingham +sponsored +89 +rob +nomination +1893 +acoustic +##sm +creature +longest +##tra +credits +harbor +dust +josh +##so +territories +milk +infrastructure +completion +thailand +indians +leon +archbishop +##sy +assist +pitch +blake +arrangement +girlfriend +serbian +operational +hence +sad +scent +fur +dj +sessions +hp +refer +rarely +##ora +exists +1892 +##ten +scientists +dirty +penalty +burst +portrait +seed +79 +pole +limits +rival +1894 +stable +alpha +grave +constitutional +alcohol +arrest +flower +mystery +devil +architectural +relationships +greatly +habitat +##istic +larry +progressive +remote +cotton +##ics +##ok +preserved +reaches +##ming +cited +86 +vast +scholarship +decisions +cbs +joy +teach +1885 +editions +knocked +eve +searching +partly +participation +gap +animated +fate +excellent +##ett +na +87 +alternate +saints +youngest +##ily +climbed +##ita +##tors +suggest +##ct +discussion +staying +choir +lakes +jacket +revenue +nevertheless +peaked +instrument +wondering +annually +managing +neil +1891 +signing +terry +##ice +apply +clinical +brooklyn +aim +catherine +fuck +farmers +figured +ninth +pride +hugh +evolution +ordinary +involvement +comfortable +shouted +tech +encouraged +taiwan +representation +sharing +##lia +##em +panic +exact +cargo +competing +fat +cried +83 +1920s +occasions +pa +cabin +borders +utah +marcus +##isation +badly +muscles +##ance +victorian +transition +warner +bet +permission +##rin +slave +terrible +similarly +shares +seth +uefa +possession +medals +benefits +colleges +lowered +perfectly +mall +transit +##ye +##kar +publisher +##ened +harrison +deaths +elevation +##ae +asleep +machines +sigh +ash +hardly +argument +occasion +parent +leo +decline +1888 +contribution +##ua +concentration +1000 +opportunities +hispanic +guardian +extent +emotions +hips +mason +volumes +bloody +controversy +diameter +steady +mistake +phoenix +identify +violin +##sk +departure +richmond +spin +funeral +enemies +1864 +gear +literally +connor +random +sergeant +grab +confusion +1865 +transmission +informed +op +leaning +sacred +suspended +thinks +gates +portland +luck +agencies +yours +hull +expert +muscle +layer +practical +sculpture +jerusalem +latest +lloyd +statistics +deeper +recommended +warrior +arkansas +mess +supports +greg +eagle +1880 +recovered +rated +concerts +rushed +##ano +stops +eggs +files +premiere +keith +##vo +delhi +turner +pit +affair +belief +paint +##zing +mate +##ach +##ev +victim +##ology +withdrew +bonus +styles +fled +##ud +glasgow +technologies +funded +nbc +adaptation +##ata +portrayed +cooperation +supporters +judges +bernard +justin +hallway +ralph +##ick +graduating +controversial +distant +continental +spider +bite +##ho +recognize +intention +mixing +##ese +egyptian +bow +tourism +suppose +claiming +tiger +dominated +participants +vi +##ru +nurse +partially +tape +##rum +psychology +##rn +essential +touring +duo +voting +civilian +emotional +channels +##king +apparent +hebrew +1887 +tommy +carrier +intersection +beast +hudson +##gar +##zo +lab +nova +bench +discuss +costa +##ered +detailed +behalf +drivers +unfortunately +obtain +##lis +rocky +##dae +siege +friendship +honey +##rian +1861 +amy +hang +posted +governments +collins +respond +wildlife +preferred +operator +##po +laura +pregnant +videos +dennis +suspected +boots +instantly +weird +automatic +businessman +alleged +placing +throwing +ph +mood +1862 +perry +venue +jet +remainder +##lli +##ci +passion +biological +boyfriend +1863 +dirt +buffalo +ron +segment +fa +abuse +##era +genre +thrown +stroke +colored +stress +exercise +displayed +##gen +struggled +##tti +abroad +dramatic +wonderful +thereafter +madrid +component +widespread +##sed +tale +citizen +todd +monday +1886 +vancouver +overseas +forcing +crying +descent +##ris +discussed +substantial +ranks +regime +1870 +provinces +switch +drum +zane +ted +tribes +proof +lp +cream +researchers +volunteer +manor +silk +milan +donated +allies +venture +principle +delivery +enterprise +##ves +##ans +bars +traditionally +witch +reminded +copper +##uk +pete +inter +links +colin +grinned +elsewhere +competitive +frequent +##oy +scream +##hu +tension +texts +submarine +finnish +defending +defend +pat +detail +1884 +affiliated +stuart +themes +villa +periods +tool +belgian +ruling +crimes +answers +folded +licensed +resort +demolished +hans +lucy +1881 +lion +traded +photographs +writes +craig +##fa +trials +generated +beth +noble +debt +percentage +yorkshire +erected +ss +viewed +grades +confidence +ceased +islam +telephone +retail +##ible +chile +m² +roberts +sixteen +##ich +commented +hampshire +innocent +dual +pounds +checked +regulations +afghanistan +sung +rico +liberty +assets +bigger +options +angels +relegated +tribute +wells +attending +leaf +##yan +butler +romanian +forum +monthly +lisa +patterns +gmina +##tory +madison +hurricane +rev +##ians +bristol +##ula +elite +valuable +disaster +democracy +awareness +germans +freyja +##ins +loop +absolutely +paying +populations +maine +sole +prayer +spencer +releases +doorway +bull +##ani +lover +midnight +conclusion +##sson +thirteen +lily +mediterranean +##lt +nhl +proud +sample +##hill +drummer +guinea +##ova +murphy +climb +##ston +instant +attributed +horn +ain +railways +steven +##ao +autumn +ferry +opponent +root +traveling +secured +corridor +stretched +tales +sheet +trinity +cattle +helps +indicates +manhattan +murdered +fitted +1882 +gentle +grandmother +mines +shocked +vegas +produces +##light +caribbean +##ou +belong +continuous +desperate +drunk +historically +trio +waved +raf +dealing +nathan +bat +murmured +interrupted +residing +scientist +pioneer +harold +aaron +##net +delta +attempting +minority +mini +believes +chorus +tend +lots +eyed +indoor +load +shots +updated +jail +##llo +concerning +connecting +wealth +##ved +slaves +arrive +rangers +sufficient +rebuilt +##wick +cardinal +flood +muhammad +whenever +relation +runners +moral +repair +viewers +arriving +revenge +punk +assisted +bath +fairly +breathe +lists +innings +illustrated +whisper +nearest +voters +clinton +ties +ultimate +screamed +beijing +lions +andre +fictional +gathering +comfort +radar +suitable +dismissed +hms +ban +pine +wrist +atmosphere +voivodeship +bid +timber +##ned +##nan +giants +##ane +cameron +recovery +uss +identical +categories +switched +serbia +laughter +noah +ensemble +therapy +peoples +touching +##off +locally +pearl +platforms +everywhere +ballet +tables +lanka +herbert +outdoor +toured +derek +1883 +spaces +contested +swept +1878 +exclusive +slight +connections +##dra +winds +prisoner +collective +bangladesh +tube +publicly +wealthy +thai +##ys +isolated +select +##ric +insisted +pen +fortune +ticket +spotted +reportedly +animation +enforcement +tanks +110 +decides +wider +lowest +owen +##time +nod +hitting +##hn +gregory +furthermore +magazines +fighters +solutions +##ery +pointing +requested +peru +reed +chancellor +knights +mask +worker +eldest +flames +reduction +1860 +volunteers +##tis +reporting +##hl +wire +advisory +endemic +origins +settlers +pursue +knock +consumer +1876 +eu +compound +creatures +mansion +sentenced +ivan +deployed +guitars +frowned +involves +mechanism +kilometers +perspective +shops +maps +terminus +duncan +alien +fist +bridges +##pers +heroes +fed +derby +swallowed +##ros +patent +sara +illness +characterized +adventures +slide +hawaii +jurisdiction +##op +organised +##side +adelaide +walks +biology +se +##ties +rogers +swing +tightly +boundaries +##rie +prepare +implementation +stolen +##sha +certified +colombia +edwards +garage +##mm +recalled +##ball +rage +harm +nigeria +breast +##ren +furniture +pupils +settle +##lus +cuba +balls +client +alaska +21st +linear +thrust +celebration +latino +genetic +terror +##cia +##ening +lightning +fee +witness +lodge +establishing +skull +##ique +earning +hood +##ei +rebellion +wang +sporting +warned +missile +devoted +activist +porch +worship +fourteen +package +1871 +decorated +##shire +housed +##ock +chess +sailed +doctors +oscar +joan +treat +garcia +harbour +jeremy +##ire +traditions +dominant +jacques +##gon +##wan +relocated +1879 +amendment +sized +companion +simultaneously +volleyball +spun +acre +increases +stopping +loves +belongs +affect +drafted +tossed +scout +battles +1875 +filming +shoved +munich +tenure +vertical +romance +pc +##cher +argue +##ical +craft +ranging +www +opens +honest +tyler +yesterday +virtual +##let +muslims +reveal +snake +immigrants +radical +screaming +speakers +firing +saving +belonging +ease +lighting +prefecture +blame +farmer +hungry +grows +rubbed +beam +sur +subsidiary +##cha +armenian +sao +dropping +conventional +##fer +microsoft +reply +qualify +spots +1867 +sweat +festivals +##ken +immigration +physician +discover +exposure +sandy +explanation +isaac +implemented +##fish +hart +initiated +connect +stakes +presents +heights +householder +pleased +tourist +regardless +slip +closest +##ction +surely +sultan +brings +riley +preparation +aboard +slammed +baptist +experiment +ongoing +interstate +organic +playoffs +##ika +1877 +130 +##tar +hindu +error +tours +tier +plenty +arrangements +talks +trapped +excited +sank +ho +athens +1872 +denver +welfare +suburb +athletes +trick +diverse +belly +exclusively +yelled +1868 +##med +conversion +##ette +1874 +internationally +computers +conductor +abilities +sensitive +hello +dispute +measured +globe +rocket +prices +amsterdam +flights +tigers +inn +municipalities +emotion +references +3d +##mus +explains +airlines +manufactured +pm +archaeological +1873 +interpretation +devon +comment +##ites +settlements +kissing +absolute +improvement +suite +impressed +barcelona +sullivan +jefferson +towers +jesse +julie +##tin +##lu +grandson +hi +gauge +regard +rings +interviews +trace +raymond +thumb +departments +burns +serial +bulgarian +scores +demonstrated +##ix +1866 +kyle +alberta +underneath +romanized +##ward +relieved +acquisition +phrase +cliff +reveals +han +cuts +merger +custom +##dar +nee +gilbert +graduation +##nts +assessment +cafe +difficulty +demands +swung +democrat +jennifer +commons +1940s +grove +##yo +completing +focuses +sum +substitute +bearing +stretch +reception +##py +reflected +essentially +destination +pairs +##ched +survival +resource +##bach +promoting +doubles +messages +tear +##down +##fully +parade +florence +harvey +incumbent +partial +framework +900 +pedro +frozen +procedure +olivia +controls +##mic +shelter +personally +temperatures +##od +brisbane +tested +sits +marble +comprehensive +oxygen +leonard +##kov +inaugural +iranian +referring +quarters +attitude +##ivity +mainstream +lined +mars +dakota +norfolk +unsuccessful +##° +explosion +helicopter +congressional +##sing +inspector +bitch +seal +departed +divine +##ters +coaching +examination +punishment +manufacturer +sink +columns +unincorporated +signals +nevada +squeezed +dylan +dining +photos +martial +manuel +eighteen +elevator +brushed +plates +ministers +ivy +congregation +##len +slept +specialized +taxes +curve +restricted +negotiations +likes +statistical +arnold +inspiration +execution +bold +intermediate +significance +margin +ruler +wheels +gothic +intellectual +dependent +listened +eligible +buses +widow +syria +earn +cincinnati +collapsed +recipient +secrets +accessible +philippine +maritime +goddess +clerk +surrender +breaks +playoff +database +##ified +##lon +ideal +beetle +aspect +soap +regulation +strings +expand +anglo +shorter +crosses +retreat +tough +coins +wallace +directions +pressing +##oon +shipping +locomotives +comparison +topics +nephew +##mes +distinction +honors +travelled +sierra +ibn +##over +fortress +sa +recognised +carved +1869 +clients +##dan +intent +##mar +coaches +describing +bread +##ington +beaten +northwestern +##ona +merit +youtube +collapse +challenges +em +historians +objective +submitted +virus +attacking +drake +assume +##ere +diseases +marc +stem +leeds +##cus +##ab +farming +glasses +##lock +visits +nowhere +fellowship +relevant +carries +restaurants +experiments +101 +constantly +bases +targets +shah +tenth +opponents +verse +territorial +##ira +writings +corruption +##hs +instruction +inherited +reverse +emphasis +##vic +employee +arch +keeps +rabbi +watson +payment +uh +##ala +nancy +##tre +venice +fastest +sexy +banned +adrian +properly +ruth +touchdown +dollar +boards +metre +circles +edges +favour +comments +ok +travels +liberation +scattered +firmly +##ular +holland +permitted +diesel +kenya +den +originated +##ral +demons +resumed +dragged +rider +##rus +servant +blinked +extend +torn +##ias +##sey +input +meal +everybody +cylinder +kinds +camps +##fe +bullet +logic +##wn +croatian +evolved +healthy +fool +chocolate +wise +preserve +pradesh +##ess +respective +1850 +##ew +chicken +artificial +gross +corresponding +convicted +cage +caroline +dialogue +##dor +narrative +stranger +mario +br +christianity +failing +trent +commanding +buddhist +1848 +maurice +focusing +yale +bike +altitude +##ering +mouse +revised +##sley +veteran +##ig +pulls +theology +crashed +campaigns +legion +##ability +drag +excellence +customer +cancelled +intensity +excuse +##lar +liga +participating +contributing +printing +##burn +variable +##rk +curious +bin +legacy +renaissance +##my +symptoms +binding +vocalist +dancer +##nie +grammar +gospel +democrats +ya +enters +sc +diplomatic +hitler +##ser +clouds +mathematical +quit +defended +oriented +##heim +fundamental +hardware +impressive +equally +convince +confederate +guilt +chuck +sliding +##ware +magnetic +narrowed +petersburg +bulgaria +otto +phd +skill +##ama +reader +hopes +pitcher +reservoir +hearts +automatically +expecting +mysterious +bennett +extensively +imagined +seeds +monitor +fix +##ative +journalism +struggling +signature +ranch +encounter +photographer +observation +protests +##pin +influences +##hr +calendar +##all +cruz +croatia +locomotive +hughes +naturally +shakespeare +basement +hook +uncredited +faded +theories +approaches +dare +phillips +filling +fury +obama +##ain +efficient +arc +deliver +min +raid +breeding +inducted +leagues +efficiency +axis +montana +eagles +##ked +supplied +instructions +karen +picking +indicating +trap +anchor +practically +christians +tomb +vary +occasional +electronics +lords +readers +newcastle +faint +innovation +collect +situations +engagement +160 +claude +mixture +##feld +peer +tissue +logo +lean +##ration +°f +floors +##ven +architects +reducing +##our +##ments +rope +1859 +ottawa +##har +samples +banking +declaration +proteins +resignation +francois +saudi +advocate +exhibited +armor +twins +divorce +##ras +abraham +reviewed +jo +temporarily +matrix +physically +pulse +curled +##ena +difficulties +bengal +usage +##ban +annie +riders +certificate +##pi +holes +warsaw +distinctive +jessica +##mon +mutual +1857 +customs +circular +eugene +removal +loaded +mere +vulnerable +depicted +generations +dame +heir +enormous +lightly +climbing +pitched +lessons +pilots +nepal +ram +google +preparing +brad +louise +renowned +##₂ +liam +##ably +plaza +shaw +sophie +brilliant +bills +##bar +##nik +fucking +mainland +server +pleasant +seized +veterans +jerked +fail +beta +brush +radiation +stored +warmth +southeastern +nate +sin +raced +berkeley +joke +athlete +designation +trunk +##low +roland +qualification +archives +heels +artwork +receives +judicial +reserves +##bed +woke +installation +abu +floating +fake +lesser +excitement +interface +concentrated +addressed +characteristic +amanda +saxophone +monk +auto +##bus +releasing +egg +dies +interaction +defender +ce +outbreak +glory +loving +##bert +sequel +consciousness +http +awake +ski +enrolled +##ress +handling +rookie +brow +somebody +biography +warfare +amounts +contracts +presentation +fabric +dissolved +challenged +meter +psychological +lt +elevated +rally +accurate +##tha +hospitals +undergraduate +specialist +venezuela +exhibit +shed +nursing +protestant +fluid +structural +footage +jared +consistent +prey +##ska +succession +reflect +exile +lebanon +wiped +suspect +shanghai +resting +integration +preservation +marvel +variant +pirates +sheep +rounded +capita +sailing +colonies +manuscript +deemed +variations +clarke +functional +emerging +boxing +relaxed +curse +azerbaijan +heavyweight +nickname +editorial +rang +grid +tightened +earthquake +flashed +miguel +rushing +##ches +improvements +boxes +brooks +180 +consumption +molecular +felix +societies +repeatedly +variation +aids +civic +graphics +professionals +realm +autonomous +receiver +delayed +workshop +militia +chairs +trump +canyon +##point +harsh +extending +lovely +happiness +##jan +stake +eyebrows +embassy +wellington +hannah +##ella +sony +corners +bishops +swear +cloth +contents +xi +namely +commenced +1854 +stanford +nashville +courage +graphic +commitment +garrison +##bin +hamlet +clearing +rebels +attraction +literacy +cooking +ruins +temples +jenny +humanity +celebrate +hasn +freight +sixty +rebel +bastard +##art +newton +##ada +deer +##ges +##ching +smiles +delaware +singers +##ets +approaching +assists +flame +##ph +boulevard +barrel +planted +##ome +pursuit +##sia +consequences +posts +shallow +invitation +rode +depot +ernest +kane +rod +concepts +preston +topic +chambers +striking +blast +arrives +descendants +montgomery +ranges +worlds +##lay +##ari +span +chaos +praise +##ag +fewer +1855 +sanctuary +mud +fbi +##ions +programmes +maintaining +unity +harper +bore +handsome +closure +tournaments +thunder +nebraska +linda +facade +puts +satisfied +argentine +dale +cork +dome +panama +##yl +1858 +tasks +experts +##ates +feeding +equation +##las +##ida +##tu +engage +bryan +##ax +um +quartet +melody +disbanded +sheffield +blocked +gasped +delay +kisses +maggie +connects +##non +sts +poured +creator +publishers +##we +guided +ellis +extinct +hug +gaining +##ord +complicated +##bility +poll +clenched +investigate +##use +thereby +quantum +spine +cdp +humor +kills +administered +semifinals +##du +encountered +ignore +##bu +commentary +##maker +bother +roosevelt +140 +plains +halfway +flowing +cultures +crack +imprisoned +neighboring +airline +##ses +##view +##mate +##ec +gather +wolves +marathon +transformed +##ill +cruise +organisations +carol +punch +exhibitions +numbered +alarm +ratings +daddy +silently +##stein +queens +colours +impression +guidance +liu +tactical +##rat +marshal +della +arrow +##ings +rested +feared +tender +owns +bitter +advisor +escort +##ides +spare +farms +grants +##ene +dragons +encourage +colleagues +cameras +##und +sucked +pile +spirits +prague +statements +suspension +landmark +fence +torture +recreation +bags +permanently +survivors +pond +spy +predecessor +bombing +coup +##og +protecting +transformation +glow +##lands +##book +dug +priests +andrea +feat +barn +jumping +##chen +##ologist +##con +casualties +stern +auckland +pipe +serie +revealing +ba +##bel +trevor +mercy +spectrum +yang +consist +governing +collaborated +possessed +epic +comprises +blew +shane +##ack +lopez +honored +magical +sacrifice +judgment +perceived +hammer +mtv +baronet +tune +das +missionary +sheets +350 +neutral +oral +threatening +attractive +shade +aims +seminary +##master +estates +1856 +michel +wounds +refugees +manufacturers +##nic +mercury +syndrome +porter +##iya +##din +hamburg +identification +upstairs +purse +widened +pause +cared +breathed +affiliate +santiago +prevented +celtic +fisher +125 +recruited +byzantine +reconstruction +farther +##mp +diet +sake +au +spite +sensation +##ert +blank +separation +105 +##hon +vladimir +armies +anime +##lie +accommodate +orbit +cult +sofia +archive +##ify +##box +founders +sustained +disorder +honours +northeastern +mia +crops +violet +threats +blanket +fires +canton +followers +southwestern +prototype +voyage +assignment +altered +moderate +protocol +pistol +##eo +questioned +brass +lifting +1852 +math +authored +##ual +doug +dimensional +dynamic +##san +1851 +pronounced +grateful +quest +uncomfortable +boom +presidency +stevens +relating +politicians +chen +barrier +quinn +diana +mosque +tribal +cheese +palmer +portions +sometime +chester +treasure +wu +bend +download +millions +reforms +registration +##osa +consequently +monitoring +ate +preliminary +brandon +invented +ps +eaten +exterior +intervention +ports +documented +log +displays +lecture +sally +favourite +##itz +vermont +lo +invisible +isle +breed +##ator +journalists +relay +speaks +backward +explore +midfielder +actively +stefan +procedures +cannon +blond +kenneth +centered +servants +chains +libraries +malcolm +essex +henri +slavery +##hal +facts +fairy +coached +cassie +cats +washed +cop +##fi +announcement +item +2000s +vinyl +activated +marco +frontier +growled +curriculum +##das +loyal +accomplished +leslie +ritual +kenny +##00 +vii +napoleon +hollow +hybrid +jungle +stationed +friedrich +counted +##ulated +platinum +theatrical +seated +col +rubber +glen +1840 +diversity +healing +extends +id +provisions +administrator +columbus +##oe +tributary +te +assured +org +##uous +prestigious +examined +lectures +grammy +ronald +associations +bailey +allan +essays +flute +believing +consultant +proceedings +travelling +1853 +kit +kerala +yugoslavia +buddy +methodist +##ith +burial +centres +batman +##nda +discontinued +bo +dock +stockholm +lungs +severely +##nk +citing +manga +##ugh +steal +mumbai +iraqi +robot +celebrity +bride +broadcasts +abolished +pot +joel +overhead +franz +packed +reconnaissance +johann +acknowledged +introduce +handled +doctorate +developments +drinks +alley +palestine +##nis +##aki +proceeded +recover +bradley +grain +patch +afford +infection +nationalist +legendary +##ath +interchange +virtually +gen +gravity +exploration +amber +vital +wishes +powell +doctrine +elbow +screenplay +##bird +contribute +indonesian +pet +creates +##com +enzyme +kylie +discipline +drops +manila +hunger +##ien +layers +suffer +fever +bits +monica +keyboard +manages +##hood +searched +appeals +##bad +testament +grande +reid +##war +beliefs +congo +##ification +##dia +si +requiring +##via +casey +1849 +regret +streak +rape +depends +syrian +sprint +pound +tourists +upcoming +pub +##xi +tense +##els +practiced +echo +nationwide +guild +motorcycle +liz +##zar +chiefs +desired +elena +bye +precious +absorbed +relatives +booth +pianist +##mal +citizenship +exhausted +wilhelm +##ceae +##hed +noting +quarterback +urge +hectares +##gue +ace +holly +##tal +blonde +davies +parked +sustainable +stepping +twentieth +airfield +galaxy +nest +chip +##nell +tan +shaft +paulo +requirement +##zy +paradise +tobacco +trans +renewed +vietnamese +##cker +##ju +suggesting +catching +holmes +enjoying +md +trips +colt +holder +butterfly +nerve +reformed +cherry +bowling +trailer +carriage +goodbye +appreciate +toy +joshua +interactive +enabled +involve +##kan +collar +determination +bunch +facebook +recall +shorts +superintendent +episcopal +frustration +giovanni +nineteenth +laser +privately +array +circulation +##ovic +armstrong +deals +painful +permit +discrimination +##wi +aires +retiring +cottage +ni +##sta +horizon +ellen +jamaica +ripped +fernando +chapters +playstation +patron +lecturer +navigation +behaviour +genes +georgian +export +solomon +rivals +swift +seventeen +rodriguez +princeton +independently +sox +1847 +arguing +entity +casting +hank +criteria +oakland +geographic +milwaukee +reflection +expanding +conquest +dubbed +##tv +halt +brave +brunswick +doi +arched +curtis +divorced +predominantly +somerset +streams +ugly +zoo +horrible +curved +buenos +fierce +dictionary +vector +theological +unions +handful +stability +chan +punjab +segments +##lly +altar +ignoring +gesture +monsters +pastor +##stone +thighs +unexpected +operators +abruptly +coin +compiled +associates +improving +migration +pin +##ose +compact +collegiate +reserved +##urs +quarterfinals +roster +restore +assembled +hurry +oval +##cies +1846 +flags +martha +##del +victories +sharply +##rated +argues +deadly +neo +drawings +symbols +performer +##iel +griffin +restrictions +editing +andrews +java +journals +arabia +compositions +dee +pierce +removing +hindi +casino +runway +civilians +minds +nasa +hotels +##zation +refuge +rent +retain +potentially +conferences +suburban +conducting +##tto +##tions +##tle +descended +massacre +##cal +ammunition +terrain +fork +souls +counts +chelsea +durham +drives +cab +##bank +perth +realizing +palestinian +finn +simpson +##dal +betty +##ule +moreover +particles +cardinals +tent +evaluation +extraordinary +##oid +inscription +##works +wednesday +chloe +maintains +panels +ashley +trucks +##nation +cluster +sunlight +strikes +zhang +##wing +dialect +canon +##ap +tucked +##ws +collecting +##mas +##can +##sville +maker +quoted +evan +franco +aria +buying +cleaning +eva +closet +provision +apollo +clinic +rat +##ez +necessarily +ac +##gle +##ising +venues +flipped +cent +spreading +trustees +checking +authorized +##sco +disappointed +##ado +notion +duration +trumpet +hesitated +topped +brussels +rolls +theoretical +hint +define +aggressive +repeat +wash +peaceful +optical +width +allegedly +mcdonald +strict +copyright +##illa +investors +mar +jam +witnesses +sounding +miranda +michelle +privacy +hugo +harmony +##pp +valid +lynn +glared +nina +102 +headquartered +diving +boarding +gibson +##ncy +albanian +marsh +routine +dealt +enhanced +er +intelligent +substance +targeted +enlisted +discovers +spinning +observations +pissed +smoking +rebecca +capitol +visa +varied +costume +seemingly +indies +compensation +surgeon +thursday +arsenal +westminster +suburbs +rid +anglican +##ridge +knots +foods +alumni +lighter +fraser +whoever +portal +scandal +##ray +gavin +advised +instructor +flooding +terrorist +##ale +teenage +interim +senses +duck +teen +thesis +abby +eager +overcome +##ile +newport +glenn +rises +shame +##cc +prompted +priority +forgot +bomber +nicolas +protective +360 +cartoon +katherine +breeze +lonely +trusted +henderson +richardson +relax +banner +candy +palms +remarkable +##rio +legends +cricketer +essay +ordained +edmund +rifles +trigger +##uri +##away +sail +alert +1830 +audiences +penn +sussex +siblings +pursued +indianapolis +resist +rosa +consequence +succeed +avoided +1845 +##ulation +inland +##tie +##nna +counsel +profession +chronicle +hurried +##una +eyebrow +eventual +bleeding +innovative +cure +##dom +committees +accounting +con +scope +hardy +heather +tenor +gut +herald +codes +tore +scales +wagon +##oo +luxury +tin +prefer +fountain +triangle +bonds +darling +convoy +dried +traced +beings +troy +accidentally +slam +findings +smelled +joey +lawyers +outcome +steep +bosnia +configuration +shifting +toll +brook +performers +lobby +philosophical +construct +shrine +aggregate +boot +cox +phenomenon +savage +insane +solely +reynolds +lifestyle +##ima +nationally +holdings +consideration +enable +edgar +mo +mama +##tein +fights +relegation +chances +atomic +hub +conjunction +awkward +reactions +currency +finale +kumar +underwent +steering +elaborate +gifts +comprising +melissa +veins +reasonable +sunshine +chi +solve +trails +inhabited +elimination +ethics +huh +ana +molly +consent +apartments +layout +marines +##ces +hunters +bulk +##oma +hometown +##wall +##mont +cracked +reads +neighbouring +withdrawn +admission +wingspan +damned +anthology +lancashire +brands +batting +forgive +cuban +awful +##lyn +104 +dimensions +imagination +##ade +dante +##ship +tracking +desperately +goalkeeper +##yne +groaned +workshops +confident +burton +gerald +milton +circus +uncertain +slope +copenhagen +sophia +fog +philosopher +portraits +accent +cycling +varying +gripped +larvae +garrett +specified +scotia +mature +luther +kurt +rap +##kes +aerial +750 +ferdinand +heated +es +transported +##shan +safely +nonetheless +##orn +##gal +motors +demanding +##sburg +startled +##brook +ally +generate +caps +ghana +stained +demo +mentions +beds +ap +afterward +diary +##bling +utility +##iro +richards +1837 +conspiracy +conscious +shining +footsteps +observer +cyprus +urged +loyalty +developer +probability +olive +upgraded +gym +miracle +insects +graves +1844 +ourselves +hydrogen +amazon +katie +tickets +poets +##pm +planes +##pan +prevention +witnessed +dense +jin +randy +tang +warehouse +monroe +bang +archived +elderly +investigations +alec +granite +mineral +conflicts +controlling +aboriginal +carlo +##zu +mechanics +stan +stark +rhode +skirt +est +##berry +bombs +respected +##horn +imposed +limestone +deny +nominee +memphis +grabbing +disabled +##als +amusement +aa +frankfurt +corn +referendum +varies +slowed +disk +firms +unconscious +incredible +clue +sue +##zhou +twist +##cio +joins +idaho +chad +developers +computing +destroyer +103 +mortal +tucker +kingston +choices +yu +carson +1800 +os +whitney +geneva +pretend +dimension +staged +plateau +maya +##une +freestyle +##bc +rovers +hiv +##ids +tristan +classroom +prospect +##hus +honestly +diploma +lied +thermal +auxiliary +feast +unlikely +iata +##tel +morocco +pounding +treasury +lithuania +considerably +1841 +dish +1812 +geological +matching +stumbled +destroying +marched +brien +advances +cake +nicole +belle +settling +measuring +directing +##mie +tuesday +bassist +capabilities +stunned +fraud +torpedo +##list +##phone +anton +wisdom +surveillance +ruined +##ulate +lawsuit +healthcare +theorem +halls +trend +aka +horizontal +dozens +acquire +lasting +swim +hawk +gorgeous +fees +vicinity +decrease +adoption +tactics +##ography +pakistani +##ole +draws +##hall +willie +burke +heath +algorithm +integral +powder +elliott +brigadier +jackie +tate +varieties +darker +##cho +lately +cigarette +specimens +adds +##ree +##ensis +##inger +exploded +finalist +cia +murders +wilderness +arguments +nicknamed +acceptance +onwards +manufacture +robertson +jets +tampa +enterprises +blog +loudly +composers +nominations +1838 +ai +malta +inquiry +automobile +hosting +viii +rays +tilted +grief +museums +strategies +furious +euro +equality +cohen +poison +surrey +wireless +governed +ridiculous +moses +##esh +##room +vanished +##ito +barnes +attract +morrison +istanbul +##iness +absent +rotation +petition +janet +##logical +satisfaction +custody +deliberately +observatory +comedian +surfaces +pinyin +novelist +strictly +canterbury +oslo +monks +embrace +ibm +jealous +photograph +continent +dorothy +marina +doc +excess +holden +allegations +explaining +stack +avoiding +lance +storyline +majesty +poorly +spike +dos +bradford +raven +travis +classics +proven +voltage +pillow +fists +butt +1842 +interpreted +##car +1839 +gage +telegraph +lens +promising +expelled +casual +collector +zones +##min +silly +nintendo +##kh +##bra +downstairs +chef +suspicious +afl +flies +vacant +uganda +pregnancy +condemned +lutheran +estimates +cheap +decree +saxon +proximity +stripped +idiot +deposits +contrary +presenter +magnus +glacier +im +offense +edwin +##ori +upright +##long +bolt +##ois +toss +geographical +##izes +environments +delicate +marking +abstract +xavier +nails +windsor +plantation +occurring +equity +saskatchewan +fears +drifted +sequences +vegetation +revolt +##stic +1843 +sooner +fusion +opposing +nato +skating +1836 +secretly +ruin +lease +##oc +edit +##nne +flora +anxiety +ruby +##ological +##mia +tel +bout +taxi +emmy +frost +rainbow +compounds +foundations +rainfall +assassination +nightmare +dominican +##win +achievements +deserve +orlando +intact +armenia +##nte +calgary +valentine +106 +marion +proclaimed +theodore +bells +courtyard +thigh +gonzalez +console +troop +minimal +monte +everyday +##ence +##if +supporter +terrorism +buck +openly +presbyterian +activists +carpet +##iers +rubbing +uprising +##yi +cute +conceived +legally +##cht +millennium +cello +velocity +ji +rescued +cardiff +1835 +rex +concentrate +senators +beard +rendered +glowing +battalions +scouts +competitors +sculptor +catalogue +arctic +ion +raja +bicycle +wow +glancing +lawn +##woman +gentleman +lighthouse +publish +predicted +calculated +##val +variants +##gne +strain +##ui +winston +deceased +##nus +touchdowns +brady +caleb +sinking +echoed +crush +hon +blessed +protagonist +hayes +endangered +magnitude +editors +##tine +estimate +responsibilities +##mel +backup +laying +consumed +sealed +zurich +lovers +frustrated +##eau +ahmed +kicking +mit +treasurer +1832 +biblical +refuse +terrified +pump +agrees +genuine +imprisonment +refuses +plymouth +##hen +lou +##nen +tara +trembling +antarctic +ton +learns +##tas +crap +crucial +faction +atop +##borough +wrap +lancaster +odds +hopkins +erik +lyon +##eon +bros +##ode +snap +locality +tips +empress +crowned +cal +acclaimed +chuckled +##ory +clara +sends +mild +towel +##fl +##day +##а +wishing +assuming +interviewed +##bal +##die +interactions +eden +cups +helena +##lf +indie +beck +##fire +batteries +filipino +wizard +parted +##lam +traces +##born +rows +idol +albany +delegates +##ees +##sar +discussions +##ex +notre +instructed +belgrade +highways +suggestion +lauren +possess +orientation +alexandria +abdul +beats +salary +reunion +ludwig +alright +wagner +intimate +pockets +slovenia +hugged +brighton +merchants +cruel +stole +trek +slopes +repairs +enrollment +politically +underlying +promotional +counting +boeing +##bb +isabella +naming +##и +keen +bacteria +listing +separately +belfast +ussr +450 +lithuanian +anybody +ribs +sphere +martinez +cock +embarrassed +proposals +fragments +nationals +##fs +##wski +premises +fin +1500 +alpine +matched +freely +bounded +jace +sleeve +##af +gaming +pier +populated +evident +##like +frances +flooded +##dle +frightened +pour +trainer +framed +visitor +challenging +pig +wickets +##fold +infected +email +##pes +arose +##aw +reward +ecuador +oblast +vale +ch +shuttle +##usa +bach +rankings +forbidden +cornwall +accordance +salem +consumers +bruno +fantastic +toes +machinery +resolved +julius +remembering +propaganda +iceland +bombardment +tide +contacts +wives +##rah +concerto +macdonald +albania +implement +daisy +tapped +sudan +helmet +angela +mistress +##lic +crop +sunk +finest +##craft +hostile +##ute +##tsu +boxer +fr +paths +adjusted +habit +ballot +supervision +soprano +##zen +bullets +wicked +sunset +regiments +disappear +lamp +performs +app +##gia +##oa +rabbit +digging +incidents +entries +##cion +dishes +##oi +introducing +##ati +##fied +freshman +slot +jill +tackles +baroque +backs +##iest +lone +sponsor +destiny +altogether +convert +##aro +consensus +shapes +demonstration +basically +feminist +auction +artifacts +##bing +strongest +twitter +halifax +2019 +allmusic +mighty +smallest +precise +alexandra +viola +##los +##ille +manuscripts +##illo +dancers +ari +managers +monuments +blades +barracks +springfield +maiden +consolidated +electron +##end +berry +airing +wheat +nobel +inclusion +blair +payments +geography +bee +cc +eleanor +react +##hurst +afc +manitoba +##yu +su +lineup +fitness +recreational +investments +airborne +disappointment +##dis +edmonton +viewing +##row +renovation +##cast +infant +bankruptcy +roses +aftermath +pavilion +##yer +carpenter +withdrawal +ladder +##hy +discussing +popped +reliable +agreements +rochester +##abad +curves +bombers +220 +rao +reverend +decreased +choosing +107 +stiff +consulting +naples +crawford +tracy +ka +ribbon +cops +##lee +crushed +deciding +unified +teenager +accepting +flagship +explorer +poles +sanchez +inspection +revived +skilled +induced +exchanged +flee +locals +tragedy +swallow +loading +hanna +demonstrate +##ela +salvador +flown +contestants +civilization +##ines +wanna +rhodes +fletcher +hector +knocking +considers +##ough +nash +mechanisms +sensed +mentally +walt +unclear +##eus +renovated +madame +##cks +crews +governmental +##hin +undertaken +monkey +##ben +##ato +fatal +armored +copa +caves +governance +grasp +perception +certification +froze +damp +tugged +wyoming +##rg +##ero +newman +##lor +nerves +curiosity +graph +115 +##ami +withdraw +tunnels +dull +meredith +moss +exhibits +neighbors +communicate +accuracy +explored +raiders +republicans +secular +kat +superman +penny +criticised +##tch +freed +update +conviction +wade +ham +likewise +delegation +gotta +doll +promises +technological +myth +nationality +resolve +convent +##mark +sharon +dig +sip +coordinator +entrepreneur +fold +##dine +capability +councillor +synonym +blown +swan +cursed +1815 +jonas +haired +sofa +canvas +keeper +rivalry +##hart +rapper +speedway +swords +postal +maxwell +estonia +potter +recurring +##nn +##ave +errors +##oni +cognitive +1834 +##² +claws +nadu +roberto +bce +wrestler +ellie +##ations +infinite +ink +##tia +presumably +finite +staircase +108 +noel +patricia +nacional +##cation +chill +eternal +tu +preventing +prussia +fossil +limbs +##logist +ernst +frog +perez +rene +##ace +pizza +prussian +##ios +##vy +molecules +regulatory +answering +opinions +sworn +lengths +supposedly +hypothesis +upward +habitats +seating +ancestors +drank +yield +hd +synthesis +researcher +modest +##var +mothers +peered +voluntary +homeland +##the +acclaim +##igan +static +valve +luxembourg +alto +carroll +fe +receptor +norton +ambulance +##tian +johnston +catholics +depicting +jointly +elephant +gloria +mentor +badge +ahmad +distinguish +remarked +councils +precisely +allison +advancing +detection +crowded +##10 +cooperative +ankle +mercedes +dagger +surrendered +pollution +commit +subway +jeffrey +lesson +sculptures +provider +##fication +membrane +timothy +rectangular +fiscal +heating +teammate +basket +particle +anonymous +deployment +##ple +missiles +courthouse +proportion +shoe +sec +##ller +complaints +forbes +blacks +abandon +remind +sizes +overwhelming +autobiography +natalie +##awa +risks +contestant +countryside +babies +scorer +invaded +enclosed +proceed +hurling +disorders +##cu +reflecting +continuously +cruiser +graduates +freeway +investigated +ore +deserved +maid +blocking +phillip +jorge +shakes +dove +mann +variables +lacked +burden +accompanying +que +consistently +organizing +provisional +complained +endless +##rm +tubes +juice +georges +krishna +mick +labels +thriller +##uch +laps +arcade +sage +snail +##table +shannon +fi +laurence +seoul +vacation +presenting +hire +churchill +surprisingly +prohibited +savannah +technically +##oli +170 +##lessly +testimony +suited +speeds +toys +romans +mlb +flowering +measurement +talented +kay +settings +charleston +expectations +shattered +achieving +triumph +ceremonies +portsmouth +lanes +mandatory +loser +stretching +cologne +realizes +seventy +cornell +careers +webb +##ulating +americas +budapest +ava +suspicion +##ison +yo +conrad +##hai +sterling +jessie +rector +##az +1831 +transform +organize +loans +christine +volcanic +warrant +slender +summers +subfamily +newer +danced +dynamics +rhine +proceeds +heinrich +gastropod +commands +sings +facilitate +easter +ra +positioned +responses +expense +fruits +yanked +imported +25th +velvet +vic +primitive +tribune +baldwin +neighbourhood +donna +rip +hay +pr +##uro +1814 +espn +welcomed +##aria +qualifier +glare +highland +timing +##cted +shells +eased +geometry +louder +exciting +slovakia +##sion +##iz +##lot +savings +prairie +##ques +marching +rafael +tonnes +##lled +curtain +preceding +shy +heal +greene +worthy +##pot +detachment +bury +sherman +##eck +reinforced +seeks +bottles +contracted +duchess +outfit +walsh +##sc +mickey +##ase +geoffrey +archer +squeeze +dawson +eliminate +invention +##enberg +neal +##eth +stance +dealer +coral +maple +retire +polo +simplified +##ht +1833 +hid +watts +backwards +jules +##oke +genesis +mt +frames +rebounds +burma +woodland +moist +santos +whispers +drained +subspecies +##aa +streaming +ulster +burnt +correspondence +maternal +gerard +denis +stealing +##load +genius +duchy +##oria +inaugurated +momentum +suits +placement +sovereign +clause +thames +##hara +confederation +reservation +sketch +yankees +lets +rotten +charm +hal +verses +ultra +commercially +dot +salon +citation +adopt +winnipeg +mist +allocated +cairo +##boy +jenkins +interference +objectives +##wind +1820 +portfolio +armoured +sectors +##eh +initiatives +##world +integrity +exercises +robe +tap +ab +gazed +##tones +distracted +rulers +111 +favorable +jerome +tended +cart +factories +##eri +diplomat +valued +gravel +charitable +##try +calvin +exploring +chang +shepherd +terrace +pdf +pupil +##ural +reflects +ups +##rch +governors +shelf +depths +##nberg +trailed +crest +tackle +##nian +##ats +hatred +##kai +clare +makers +ethiopia +longtime +detected +embedded +lacking +slapped +rely +thomson +anticipation +iso +morton +successive +agnes +screenwriter +straightened +philippe +playwright +haunted +licence +iris +intentions +sutton +112 +logical +correctly +##weight +branded +licked +tipped +silva +ricky +narrator +requests +##ents +greeted +supernatural +cow +##wald +lung +refusing +employer +strait +gaelic +liner +##piece +zoe +sabha +##mba +driveway +harvest +prints +bates +reluctantly +threshold +algebra +ira +wherever +coupled +240 +assumption +picks +##air +designers +raids +gentlemen +##ean +roller +blowing +leipzig +locks +screw +dressing +strand +##lings +scar +dwarf +depicts +##nu +nods +##mine +differ +boris +##eur +yuan +flip +##gie +mob +invested +questioning +applying +##ture +shout +##sel +gameplay +blamed +illustrations +bothered +weakness +rehabilitation +##of +##zes +envelope +rumors +miners +leicester +subtle +kerry +##ico +ferguson +##fu +premiership +ne +##cat +bengali +prof +catches +remnants +dana +##rily +shouting +presidents +baltic +ought +ghosts +dances +sailors +shirley +fancy +dominic +##bie +madonna +##rick +bark +buttons +gymnasium +ashes +liver +toby +oath +providence +doyle +evangelical +nixon +cement +carnegie +embarked +hatch +surroundings +guarantee +needing +pirate +essence +##bee +filter +crane +hammond +projected +immune +percy +twelfth +##ult +regent +doctoral +damon +mikhail +##ichi +lu +critically +elect +realised +abortion +acute +screening +mythology +steadily +##fc +frown +nottingham +kirk +wa +minneapolis +##rra +module +algeria +mc +nautical +encounters +surprising +statues +availability +shirts +pie +alma +brows +munster +mack +soup +crater +tornado +sanskrit +cedar +explosive +bordered +dixon +planets +stamp +exam +happily +##bble +carriers +kidnapped +##vis +accommodation +emigrated +##met +knockout +correspondent +violation +profits +peaks +lang +specimen +agenda +ancestry +pottery +spelling +equations +obtaining +ki +linking +1825 +debris +asylum +##20 +buddhism +teddy +##ants +gazette +##nger +##sse +dental +eligibility +utc +fathers +averaged +zimbabwe +francesco +coloured +hissed +translator +lynch +mandate +humanities +mackenzie +uniforms +lin +##iana +##gio +asset +mhz +fitting +samantha +genera +wei +rim +beloved +shark +riot +entities +expressions +indo +carmen +slipping +owing +abbot +neighbor +sidney +##av +rats +recommendations +encouraging +squadrons +anticipated +commanders +conquered +##oto +donations +diagnosed +##mond +divide +##iva +guessed +decoration +vernon +auditorium +revelation +conversations +##kers +##power +herzegovina +dash +alike +protested +lateral +herman +accredited +mg +##gent +freeman +mel +fiji +crow +crimson +##rine +livestock +##pped +humanitarian +bored +oz +whip +##lene +##ali +legitimate +alter +grinning +spelled +anxious +oriental +wesley +##nin +##hole +carnival +controller +detect +##ssa +bowed +educator +kosovo +macedonia +##sin +occupy +mastering +stephanie +janeiro +para +unaware +nurses +noon +135 +cam +hopefully +ranger +combine +sociology +polar +rica +##eer +neill +##sman +holocaust +##ip +doubled +lust +1828 +109 +decent +cooling +unveiled +##card +1829 +nsw +homer +chapman +meyer +##gin +dive +mae +reagan +expertise +##gled +darwin +brooke +sided +prosecution +investigating +comprised +petroleum +genres +reluctant +differently +trilogy +johns +vegetables +corpse +highlighted +lounge +pension +unsuccessfully +elegant +aided +ivory +beatles +amelia +cain +dubai +sunny +immigrant +babe +click +##nder +underwater +pepper +combining +mumbled +atlas +horns +accessed +ballad +physicians +homeless +gestured +rpm +freak +louisville +corporations +patriots +prizes +rational +warn +modes +decorative +overnight +din +troubled +phantom +##ort +monarch +sheer +##dorf +generals +guidelines +organs +addresses +##zon +enhance +curling +parishes +cord +##kie +linux +caesar +deutsche +bavaria +##bia +coleman +cyclone +##eria +bacon +petty +##yama +##old +hampton +diagnosis +1824 +throws +complexity +rita +disputed +##₃ +pablo +##sch +marketed +trafficking +##ulus +examine +plague +formats +##oh +vault +faithful +##bourne +webster +##ox +highlights +##ient +##ann +phones +vacuum +sandwich +modeling +##gated +bolivia +clergy +qualities +isabel +##nas +##ars +wears +screams +reunited +annoyed +bra +##ancy +##rate +differential +transmitter +tattoo +container +poker +##och +excessive +resides +cowboys +##tum +augustus +trash +providers +statute +retreated +balcony +reversed +void +storey +preceded +masses +leap +laughs +neighborhoods +wards +schemes +falcon +santo +battlefield +pad +ronnie +thread +lesbian +venus +##dian +beg +sandstone +daylight +punched +gwen +analog +stroked +wwe +acceptable +measurements +dec +toxic +##kel +adequate +surgical +economist +parameters +varsity +##sberg +quantity +ella +##chy +##rton +countess +generating +precision +diamonds +expressway +ga +##ı +1821 +uruguay +talents +galleries +expenses +scanned +colleague +outlets +ryder +lucien +##ila +paramount +##bon +syracuse +dim +fangs +gown +sweep +##sie +toyota +missionaries +websites +##nsis +sentences +adviser +val +trademark +spells +##plane +patience +starter +slim +##borg +toe +incredibly +shoots +elliot +nobility +##wyn +cowboy +endorsed +gardner +tendency +persuaded +organisms +emissions +kazakhstan +amused +boring +chips +themed +##hand +llc +constantinople +chasing +systematic +guatemala +borrowed +erin +carey +##hard +highlands +struggles +1810 +##ifying +##ced +wong +exceptions +develops +enlarged +kindergarten +castro +##ern +##rina +leigh +zombie +juvenile +##most +consul +##nar +sailor +hyde +clarence +intensive +pinned +nasty +useless +jung +clayton +stuffed +exceptional +ix +apostolic +230 +transactions +##dge +exempt +swinging +cove +religions +##ash +shields +dairy +bypass +190 +pursuing +bug +joyce +bombay +chassis +southampton +chat +interact +redesignated +##pen +nascar +pray +salmon +rigid +regained +malaysian +grim +publicity +constituted +capturing +toilet +delegate +purely +tray +drift +loosely +striker +weakened +trinidad +mitch +itv +defines +transmitted +ming +scarlet +nodding +fitzgerald +fu +narrowly +sp +tooth +standings +virtue +##₁ +##wara +##cting +chateau +gloves +lid +##nel +hurting +conservatory +##pel +sinclair +reopened +sympathy +nigerian +strode +advocated +optional +chronic +discharge +##rc +suck +compatible +laurel +stella +shi +fails +wage +dodge +128 +informal +sorts +levi +buddha +villagers +##aka +chronicles +heavier +summoned +gateway +3000 +eleventh +jewelry +translations +accordingly +seas +##ency +fiber +pyramid +cubic +dragging +##ista +caring +##ops +android +contacted +lunar +##dt +kai +lisbon +patted +1826 +sacramento +theft +madagascar +subtropical +disputes +ta +holidays +piper +willow +mare +cane +itunes +newfoundland +benny +companions +dong +raj +observe +roar +charming +plaque +tibetan +fossils +enacted +manning +bubble +tina +tanzania +##eda +##hir +funk +swamp +deputies +cloak +ufc +scenario +par +scratch +metals +anthem +guru +engaging +specially +##boat +dialects +nineteen +cecil +duet +disability +messenger +unofficial +##lies +defunct +eds +moonlight +drainage +surname +puzzle +honda +switching +conservatives +mammals +knox +broadcaster +sidewalk +cope +##ried +benson +princes +peterson +##sal +bedford +sharks +eli +wreck +alberto +gasp +archaeology +lgbt +teaches +securities +madness +compromise +waving +coordination +davidson +visions +leased +possibilities +eighty +jun +fernandez +enthusiasm +assassin +sponsorship +reviewer +kingdoms +estonian +laboratories +##fy +##nal +applies +verb +celebrations +##zzo +rowing +lightweight +sadness +submit +mvp +balanced +dude +##vas +explicitly +metric +magnificent +mound +brett +mohammad +mistakes +irregular +##hing +##ass +sanders +betrayed +shipped +surge +##enburg +reporters +termed +georg +pity +verbal +bulls +abbreviated +enabling +appealed +##are +##atic +sicily +sting +heel +sweetheart +bart +spacecraft +brutal +monarchy +##tter +aberdeen +cameo +diane +##ub +survivor +clyde +##aries +complaint +##makers +clarinet +delicious +chilean +karnataka +coordinates +1818 +panties +##rst +pretending +ar +dramatically +kiev +bella +tends +distances +113 +catalog +launching +instances +telecommunications +portable +lindsay +vatican +##eim +angles +aliens +marker +stint +screens +bolton +##rne +judy +wool +benedict +plasma +europa +spark +imaging +filmmaker +swiftly +##een +contributor +##nor +opted +stamps +apologize +financing +butter +gideon +sophisticated +alignment +avery +chemicals +yearly +speculation +prominence +professionally +##ils +immortal +institutional +inception +wrists +identifying +tribunal +derives +gains +##wo +papal +preference +linguistic +vince +operative +brewery +##ont +unemployment +boyd +##ured +##outs +albeit +prophet +1813 +bi +##rr +##face +##rad +quarterly +asteroid +cleaned +radius +temper +##llen +telugu +jerk +viscount +menu +##ote +glimpse +##aya +yacht +hawaiian +baden +##rl +laptop +readily +##gu +monetary +offshore +scots +watches +##yang +##arian +upgrade +needle +xbox +lea +encyclopedia +flank +fingertips +##pus +delight +teachings +confirm +roth +beaches +midway +winters +##iah +teasing +daytime +beverly +gambling +bonnie +##backs +regulated +clement +hermann +tricks +knot +##shing +##uring +##vre +detached +ecological +owed +specialty +byron +inventor +bats +stays +screened +unesco +midland +trim +affection +##ander +##rry +jess +thoroughly +feedback +##uma +chennai +strained +heartbeat +wrapping +overtime +pleaded +##sworth +mon +leisure +oclc +##tate +##ele +feathers +angelo +thirds +nuts +surveys +clever +gill +commentator +##dos +darren +rides +gibraltar +##nc +##mu +dissolution +dedication +shin +meals +saddle +elvis +reds +chaired +taller +appreciation +functioning +niece +favored +advocacy +robbie +criminals +suffolk +yugoslav +passport +constable +congressman +hastings +vera +##rov +consecrated +sparks +ecclesiastical +confined +##ovich +muller +floyd +nora +1822 +paved +1827 +cumberland +ned +saga +spiral +##flow +appreciated +yi +collaborative +treating +similarities +feminine +finishes +##ib +jade +import +##nse +##hot +champagne +mice +securing +celebrities +helsinki +attributes +##gos +cousins +phases +ache +lucia +gandhi +submission +vicar +spear +shine +tasmania +biting +detention +constitute +tighter +seasonal +##gus +terrestrial +matthews +##oka +effectiveness +parody +philharmonic +##onic +1816 +strangers +encoded +consortium +guaranteed +regards +shifts +tortured +collision +supervisor +inform +broader +insight +theaters +armour +emeritus +blink +incorporates +mapping +##50 +##ein +handball +flexible +##nta +substantially +generous +thief +##own +carr +loses +1793 +prose +ucla +romeo +generic +metallic +realization +damages +mk +commissioners +zach +default +##ther +helicopters +lengthy +stems +spa +partnered +spectators +rogue +indication +penalties +teresa +1801 +sen +##tric +dalton +##wich +irving +photographic +##vey +dell +deaf +peters +excluded +unsure +##vable +patterson +crawled +##zio +resided +whipped +latvia +slower +ecole +pipes +employers +maharashtra +comparable +va +textile +pageant +##gel +alphabet +binary +irrigation +chartered +choked +antoine +offs +waking +supplement +##wen +quantities +demolition +regain +locate +urdu +folks +alt +114 +##mc +scary +andreas +whites +##ava +classrooms +mw +aesthetic +publishes +valleys +guides +cubs +johannes +bryant +conventions +affecting +##itt +drain +awesome +isolation +prosecutor +ambitious +apology +captive +downs +atmospheric +lorenzo +aisle +beef +foul +##onia +kidding +composite +disturbed +illusion +natives +##ffer +emi +rockets +riverside +wartime +painters +adolf +melted +##ail +uncertainty +simulation +hawks +progressed +meantime +builder +spray +breach +unhappy +regina +russians +##urg +determining +##tation +tram +1806 +##quin +aging +##12 +1823 +garion +rented +mister +diaz +terminated +clip +1817 +depend +nervously +disco +owe +defenders +shiva +notorious +disbelief +shiny +worcester +##gation +##yr +trailing +undertook +islander +belarus +limitations +watershed +fuller +overlooking +utilized +raphael +1819 +synthetic +breakdown +klein +##nate +moaned +memoir +lamb +practicing +##erly +cellular +arrows +exotic +##graphy +witches +117 +charted +rey +hut +hierarchy +subdivision +freshwater +giuseppe +aloud +reyes +qatar +marty +sideways +utterly +sexually +jude +prayers +mccarthy +softball +blend +damien +##gging +##metric +wholly +erupted +lebanese +negro +revenues +tasted +comparative +teamed +transaction +labeled +maori +sovereignty +parkway +trauma +gran +malay +121 +advancement +descendant +2020 +buzz +salvation +inventory +symbolic +##making +antarctica +mps +##gas +##bro +mohammed +myanmar +holt +submarines +tones +##lman +locker +patriarch +bangkok +emerson +remarks +predators +kin +afghan +confession +norwich +rental +emerge +advantages +##zel +rca +##hold +shortened +storms +aidan +##matic +autonomy +compliance +##quet +dudley +atp +##osis +1803 +motto +documentation +summary +professors +spectacular +christina +archdiocese +flashing +innocence +remake +##dell +psychic +reef +scare +employ +rs +sticks +meg +gus +leans +##ude +accompany +bergen +tomas +##iko +doom +wages +pools +##nch +##bes +breasts +scholarly +alison +outline +brittany +breakthrough +willis +realistic +##cut +##boro +competitor +##stan +pike +picnic +icon +designing +commercials +washing +villain +skiing +micro +costumes +auburn +halted +executives +##hat +logistics +cycles +vowel +applicable +barrett +exclaimed +eurovision +eternity +ramon +##umi +##lls +modifications +sweeping +disgust +##uck +torch +aviv +ensuring +rude +dusty +sonic +donovan +outskirts +cu +pathway +##band +##gun +##lines +disciplines +acids +cadet +paired +##40 +sketches +##sive +marriages +##⁺ +folding +peers +slovak +implies +admired +##beck +1880s +leopold +instinct +attained +weston +megan +horace +##ination +dorsal +ingredients +evolutionary +##its +complications +deity +lethal +brushing +levy +deserted +institutes +posthumously +delivering +telescope +coronation +motivated +rapids +luc +flicked +pays +volcano +tanner +weighed +##nica +crowds +frankie +gifted +addressing +granddaughter +winding +##rna +constantine +gomez +##front +landscapes +rudolf +anthropology +slate +werewolf +##lio +astronomy +circa +rouge +dreaming +sack +knelt +drowned +naomi +prolific +tracked +freezing +herb +##dium +agony +randall +twisting +wendy +deposit +touches +vein +wheeler +##bbled +##bor +batted +retaining +tire +presently +compare +specification +daemon +nigel +##grave +merry +recommendation +czechoslovakia +sandra +ng +roma +##sts +lambert +inheritance +sheikh +winchester +cries +examining +##yle +comeback +cuisine +nave +##iv +ko +retrieve +tomatoes +barker +polished +defining +irene +lantern +personalities +begging +tract +swore +1809 +175 +##gic +omaha +brotherhood +##rley +haiti +##ots +exeter +##ete +##zia +steele +dumb +pearson +210 +surveyed +elisabeth +trends +##ef +fritz +##rf +premium +bugs +fraction +calmly +viking +##birds +tug +inserted +unusually +##ield +confronted +distress +crashing +brent +turks +resign +##olo +cambodia +gabe +sauce +##kal +evelyn +116 +extant +clusters +quarry +teenagers +luna +##lers +##ister +affiliation +drill +##ashi +panthers +scenic +libya +anita +strengthen +inscriptions +##cated +lace +sued +judith +riots +##uted +mint +##eta +preparations +midst +dub +challenger +##vich +mock +cf +displaced +wicket +breaths +enables +schmidt +analyst +##lum +ag +highlight +automotive +axe +josef +newark +sufficiently +resembles +50th +##pal +flushed +mum +traits +##ante +commodore +incomplete +warming +titular +ceremonial +ethical +118 +celebrating +eighteenth +cao +lima +medalist +mobility +strips +snakes +##city +miniature +zagreb +barton +escapes +umbrella +automated +doubted +differs +cooled +georgetown +dresden +cooked +fade +wyatt +rna +jacobs +carlton +abundant +stereo +boost +madras +inning +##hia +spur +ip +malayalam +begged +osaka +groan +escaping +charging +dose +vista +##aj +bud +papa +communists +advocates +edged +tri +##cent +resemble +peaking +necklace +fried +montenegro +saxony +goose +glances +stuttgart +curator +recruit +grocery +sympathetic +##tting +##fort +127 +lotus +randolph +ancestor +##rand +succeeding +jupiter +1798 +macedonian +##heads +hiking +1808 +handing +fischer +##itive +garbage +node +##pies +prone +singular +papua +inclined +attractions +italia +pouring +motioned +grandma +garnered +jacksonville +corp +ego +ringing +aluminum +##hausen +ordering +##foot +drawer +traders +synagogue +##play +##kawa +resistant +wandering +fragile +fiona +teased +var +hardcore +soaked +jubilee +decisive +exposition +mercer +poster +valencia +hale +kuwait +1811 +##ises +##wr +##eed +tavern +gamma +122 +johan +##uer +airways +amino +gil +##ury +vocational +domains +torres +##sp +generator +folklore +outcomes +##keeper +canberra +shooter +fl +beams +confrontation +##lling +##gram +feb +aligned +forestry +pipeline +jax +motorway +conception +decay +##tos +coffin +##cott +stalin +1805 +escorted +minded +##nam +sitcom +purchasing +twilight +veronica +additions +passive +tensions +straw +123 +frequencies +1804 +refugee +cultivation +##iate +christie +clary +bulletin +crept +disposal +##rich +##zong +processor +crescent +##rol +bmw +emphasized +whale +nazis +aurora +##eng +dwelling +hauled +sponsors +toledo +mega +ideology +theatres +tessa +cerambycidae +saves +turtle +cone +suspects +kara +rusty +yelling +greeks +mozart +shades +cocked +participant +##tro +shire +spit +freeze +necessity +##cos +inmates +nielsen +councillors +loaned +uncommon +omar +peasants +botanical +offspring +daniels +formations +jokes +1794 +pioneers +sigma +licensing +##sus +wheelchair +polite +1807 +liquor +pratt +trustee +##uta +forewings +balloon +##zz +kilometre +camping +explicit +casually +shawn +foolish +teammates +nm +hassan +carrie +judged +satisfy +vanessa +knives +selective +cnn +flowed +##lice +eclipse +stressed +eliza +mathematician +cease +cultivated +##roy +commissions +browns +##ania +destroyers +sheridan +meadow +##rius +minerals +##cial +downstream +clash +gram +memoirs +ventures +baha +seymour +archie +midlands +edith +fare +flynn +invite +canceled +tiles +stabbed +boulder +incorporate +amended +camden +facial +mollusk +unreleased +descriptions +yoga +grabs +550 +raises +ramp +shiver +##rose +coined +pioneering +tunes +qing +warwick +tops +119 +melanie +giles +##rous +wandered +##inal +annexed +nov +30th +unnamed +##ished +organizational +airplane +normandy +stoke +whistle +blessing +violations +chased +holders +shotgun +##ctic +outlet +reactor +##vik +tires +tearing +shores +fortified +mascot +constituencies +nc +columnist +productive +tibet +##rta +lineage +hooked +oct +tapes +judging +cody +##gger +hansen +kashmir +triggered +##eva +solved +cliffs +##tree +resisted +anatomy +protesters +transparent +implied +##iga +injection +mattress +excluding +##mbo +defenses +helpless +devotion +##elli +growl +liberals +weber +phenomena +atoms +plug +##iff +mortality +apprentice +howe +convincing +aaa +swimmer +barber +leone +promptly +sodium +def +nowadays +arise +##oning +gloucester +corrected +dignity +norm +erie +##ders +elders +evacuated +sylvia +compression +##yar +hartford +pose +backpack +reasoning +accepts +24th +wipe +millimetres +marcel +##oda +dodgers +albion +1790 +overwhelmed +aerospace +oaks +1795 +showcase +acknowledge +recovering +nolan +ashe +hurts +geology +fashioned +disappearance +farewell +swollen +shrug +marquis +wimbledon +124 +rue +1792 +commemorate +reduces +experiencing +inevitable +calcutta +intel +##court +murderer +sticking +fisheries +imagery +bloom +280 +brake +##inus +gustav +hesitation +memorable +po +viral +beans +accidents +tunisia +antenna +spilled +consort +treatments +aye +perimeter +##gard +donation +hostage +migrated +banker +addiction +apex +lil +trout +##ously +conscience +##nova +rams +sands +genome +passionate +troubles +##lets +##set +amid +##ibility +##ret +higgins +exceed +vikings +##vie +payne +##zan +muscular +##ste +defendant +sucking +##wal +ibrahim +fuselage +claudia +vfl +europeans +snails +interval +##garh +preparatory +statewide +tasked +lacrosse +viktor +##lation +angola +##hra +flint +implications +employs +teens +patrons +stall +weekends +barriers +scrambled +nucleus +tehran +jenna +parsons +lifelong +robots +displacement +5000 +##bles +precipitation +##gt +knuckles +clutched +1802 +marrying +ecology +marx +accusations +declare +scars +kolkata +mat +meadows +bermuda +skeleton +finalists +vintage +crawl +coordinate +affects +subjected +orchestral +mistaken +##tc +mirrors +dipped +relied +260 +arches +candle +##nick +incorporating +wildly +fond +basilica +owl +fringe +rituals +whispering +stirred +feud +tertiary +slick +goat +honorable +whereby +skip +ricardo +stripes +parachute +adjoining +submerged +synthesizer +##gren +intend +positively +ninety +phi +beaver +partition +fellows +alexis +prohibition +carlisle +bizarre +fraternity +##bre +doubts +icy +cbc +aquatic +sneak +sonny +combines +airports +crude +supervised +spatial +merge +alfonso +##bic +corrupt +scan +undergo +##ams +disabilities +colombian +comparing +dolphins +perkins +##lish +reprinted +unanimous +bounced +hairs +underworld +midwest +semester +bucket +paperback +miniseries +coventry +demise +##leigh +demonstrations +sensor +rotating +yan +##hler +arrange +soils +##idge +hyderabad +labs +##dr +brakes +grandchildren +##nde +negotiated +rover +ferrari +continuation +directorate +augusta +stevenson +counterpart +gore +##rda +nursery +rican +ave +collectively +broadly +pastoral +repertoire +asserted +discovering +nordic +styled +fiba +cunningham +harley +middlesex +survives +tumor +tempo +zack +aiming +lok +urgent +##rade +##nto +devils +##ement +contractor +turin +##wl +##ool +bliss +repaired +simmons +moan +astronomical +cr +negotiate +lyric +1890s +lara +bred +clad +angus +pbs +##ience +engineered +posed +##lk +hernandez +possessions +elbows +psychiatric +strokes +confluence +electorate +lifts +campuses +lava +alps +##ep +##ution +##date +physicist +woody +##page +##ographic +##itis +juliet +reformation +sparhawk +320 +complement +suppressed +jewel +##½ +floated +##kas +continuity +sadly +##ische +inability +melting +scanning +paula +flour +judaism +safer +vague +##lm +solving +curb +##stown +financially +gable +bees +expired +miserable +cassidy +dominion +1789 +cupped +145 +robbery +facto +amos +warden +resume +tallest +marvin +ing +pounded +usd +declaring +gasoline +##aux +darkened +270 +650 +sophomore +##mere +erection +gossip +televised +risen +dial +##eu +pillars +##link +passages +profound +##tina +arabian +ashton +silicon +nail +##ead +##lated +##wer +##hardt +fleming +firearms +ducked +circuits +blows +waterloo +titans +##lina +atom +fireplace +cheshire +financed +activation +algorithms +##zzi +constituent +catcher +cherokee +partnerships +sexuality +platoon +tragic +vivian +guarded +whiskey +meditation +poetic +##late +##nga +##ake +porto +listeners +dominance +kendra +mona +chandler +factions +22nd +salisbury +attitudes +derivative +##ido +##haus +intake +paced +javier +illustrator +barrels +bias +cockpit +burnett +dreamed +ensuing +##anda +receptors +someday +hawkins +mattered +##lal +slavic +1799 +jesuit +cameroon +wasted +tai +wax +lowering +victorious +freaking +outright +hancock +librarian +sensing +bald +calcium +myers +tablet +announcing +barack +shipyard +pharmaceutical +##uan +greenwich +flush +medley +patches +wolfgang +pt +speeches +acquiring +exams +nikolai +##gg +hayden +kannada +##type +reilly +##pt +waitress +abdomen +devastated +capped +pseudonym +pharmacy +fulfill +paraguay +1796 +clicked +##trom +archipelago +syndicated +##hman +lumber +orgasm +rejection +clifford +lorraine +advent +mafia +rodney +brock +##ght +##used +##elia +cassette +chamberlain +despair +mongolia +sensors +developmental +upstream +##eg +##alis +spanning +165 +trombone +basque +seeded +interred +renewable +rhys +leapt +revision +molecule +##ages +chord +vicious +nord +shivered +23rd +arlington +debts +corpus +sunrise +bays +blackburn +centimetres +##uded +shuddered +gm +strangely +gripping +cartoons +isabelle +orbital +##ppa +seals +proving +##lton +refusal +strengthened +bust +assisting +baghdad +batsman +portrayal +mara +pushes +spears +og +##cock +reside +nathaniel +brennan +1776 +confirmation +caucus +##worthy +markings +yemen +nobles +ku +lazy +viewer +catalan +encompasses +sawyer +##fall +sparked +substances +patents +braves +arranger +evacuation +sergio +persuade +dover +tolerance +penguin +cum +jockey +insufficient +townships +occupying +declining +plural +processed +projection +puppet +flanders +introduces +liability +##yon +gymnastics +antwerp +taipei +hobart +candles +jeep +wes +observers +126 +chaplain +bundle +glorious +##hine +hazel +flung +sol +excavations +dumped +stares +sh +bangalore +triangular +icelandic +intervals +expressing +turbine +##vers +songwriting +crafts +##igo +jasmine +ditch +rite +##ways +entertaining +comply +sorrow +wrestlers +basel +emirates +marian +rivera +helpful +##some +caution +downward +networking +##atory +##tered +darted +genocide +emergence +replies +specializing +spokesman +convenient +unlocked +fading +augustine +concentrations +resemblance +elijah +investigator +andhra +##uda +promotes +bean +##rrell +fleeing +wan +simone +announcer +##ame +##bby +lydia +weaver +132 +residency +modification +##fest +stretches +##ast +alternatively +nat +lowe +lacks +##ented +pam +tile +concealed +inferior +abdullah +residences +tissues +vengeance +##ided +moisture +peculiar +groove +zip +bologna +jennings +ninja +oversaw +zombies +pumping +batch +livingston +emerald +installations +1797 +peel +nitrogen +rama +##fying +##star +schooling +strands +responding +werner +##ost +lime +casa +accurately +targeting +##rod +underway +##uru +hemisphere +lester +##yard +occupies +2d +griffith +angrily +reorganized +##owing +courtney +deposited +##dd +##30 +estadio +##ifies +dunn +exiled +##ying +checks +##combe +##о +##fly +successes +unexpectedly +blu +assessed +##flower +##ه +observing +sacked +spiders +kn +##tail +mu +nodes +prosperity +audrey +divisional +155 +broncos +tangled +adjust +feeds +erosion +paolo +surf +directory +snatched +humid +admiralty +screwed +gt +reddish +##nese +modules +trench +lamps +bind +leah +bucks +competes +##nz +##form +transcription +##uc +isles +violently +clutching +pga +cyclist +inflation +flats +ragged +unnecessary +##hian +stubborn +coordinated +harriet +baba +disqualified +330 +insect +wolfe +##fies +reinforcements +rocked +duel +winked +embraced +bricks +##raj +hiatus +defeats +pending +brightly +jealousy +##xton +##hm +##uki +lena +gdp +colorful +##dley +stein +kidney +##shu +underwear +wanderers +##haw +##icus +guardians +m³ +roared +habits +##wise +permits +gp +uranium +punished +disguise +bundesliga +elise +dundee +erotic +partisan +pi +collectors +float +individually +rendering +behavioral +bucharest +ser +hare +valerie +corporal +nutrition +proportional +##isa +immense +##kis +pavement +##zie +##eld +sutherland +crouched +1775 +##lp +suzuki +trades +endurance +operas +crosby +prayed +priory +rory +socially +##urn +gujarat +##pu +walton +cube +pasha +privilege +lennon +floods +thorne +waterfall +nipple +scouting +approve +##lov +minorities +voter +dwight +extensions +assure +ballroom +slap +dripping +privileges +rejoined +confessed +demonstrating +patriotic +yell +investor +##uth +pagan +slumped +squares +##cle +##kins +confront +bert +embarrassment +##aid +aston +urging +sweater +starr +yuri +brains +williamson +commuter +mortar +structured +selfish +exports +##jon +cds +##him +unfinished +##rre +mortgage +destinations +##nagar +canoe +solitary +buchanan +delays +magistrate +fk +##pling +motivation +##lier +##vier +recruiting +assess +##mouth +malik +antique +1791 +pius +rahman +reich +tub +zhou +smashed +airs +galway +xii +conditioning +honduras +discharged +dexter +##pf +lionel +129 +debates +lemon +tiffany +volunteered +dom +dioxide +procession +devi +sic +tremendous +advertisements +colts +transferring +verdict +hanover +decommissioned +utter +relate +pac +racism +##top +beacon +limp +similarity +terra +occurrence +ant +##how +becky +capt +updates +armament +richie +pal +##graph +halloween +mayo +##ssen +##bone +cara +serena +fcc +dolls +obligations +##dling +violated +lafayette +jakarta +exploitation +##ime +infamous +iconic +##lah +##park +kitty +moody +reginald +dread +spill +crystals +olivier +modeled +bluff +equilibrium +separating +notices +ordnance +extinction +onset +cosmic +attachment +sammy +expose +privy +anchored +##bil +abbott +admits +bending +baritone +emmanuel +policeman +vaughan +winged +climax +dresses +denny +polytechnic +mohamed +burmese +authentic +nikki +genetics +grandparents +homestead +gaza +postponed +metacritic +una +##sby +##bat +unstable +dissertation +##rial +##cian +curls +obscure +uncovered +bronx +praying +disappearing +##hoe +prehistoric +coke +turret +mutations +nonprofit +pits +monaco +##ي +##usion +prominently +dispatched +podium +##mir +uci +##uation +133 +fortifications +birthplace +kendall +##lby +##oll +preacher +rack +goodman +##rman +persistent +##ott +countless +jaime +recorder +lexington +persecution +jumps +renewal +wagons +##11 +crushing +##holder +decorations +##lake +abundance +wrath +laundry +£1 +garde +##rp +jeanne +beetles +peasant +##sl +splitting +caste +sergei +##rer +##ema +scripts +##ively +rub +satellites +##vor +inscribed +verlag +scrapped +gale +packages +chick +potato +slogan +kathleen +arabs +##culture +counterparts +reminiscent +choral +##tead +rand +retains +bushes +dane +accomplish +courtesy +closes +##oth +slaughter +hague +krakow +lawson +tailed +elias +ginger +##ttes +canopy +betrayal +rebuilding +turf +##hof +frowning +allegiance +brigades +kicks +rebuild +polls +alias +nationalism +td +rowan +audition +bowie +fortunately +recognizes +harp +dillon +horrified +##oro +renault +##tics +ropes +##α +presumed +rewarded +infrared +wiping +accelerated +illustration +##rid +presses +practitioners +badminton +##iard +detained +##tera +recognizing +relates +misery +##sies +##tly +reproduction +piercing +potatoes +thornton +esther +manners +hbo +##aan +ours +bullshit +ernie +perennial +sensitivity +illuminated +rupert +##jin +##iss +##ear +rfc +nassau +##dock +staggered +socialism +##haven +appointments +nonsense +prestige +sharma +haul +##tical +solidarity +gps +##ook +##rata +igor +pedestrian +##uit +baxter +tenants +wires +medication +unlimited +guiding +impacts +diabetes +##rama +sasha +pas +clive +extraction +131 +continually +constraints +##bilities +sonata +hunted +sixteenth +chu +planting +quote +mayer +pretended +abs +spat +##hua +ceramic +##cci +curtains +pigs +pitching +##dad +latvian +sore +dayton +##sted +##qi +patrols +slice +playground +##nted +shone +stool +apparatus +inadequate +mates +treason +##ija +desires +##liga +##croft +somalia +laurent +mir +leonardo +oracle +grape +obliged +chevrolet +thirteenth +stunning +enthusiastic +##ede +accounted +concludes +currents +basil +##kovic +drought +##rica +mai +##aire +shove +posting +##shed +pilgrimage +humorous +packing +fry +pencil +wines +smells +144 +marilyn +aching +newest +clung +bon +neighbours +sanctioned +##pie +mug +##stock +drowning +##mma +hydraulic +##vil +hiring +reminder +lilly +investigators +##ncies +sour +##eous +compulsory +packet +##rion +##graphic +##elle +cannes +##inate +depressed +##rit +heroic +importantly +theresa +##tled +conway +saturn +marginal +rae +##xia +corresponds +royce +pact +jasper +explosives +packaging +aluminium +##ttered +denotes +rhythmic +spans +assignments +hereditary +outlined +originating +sundays +lad +reissued +greeting +beatrice +##dic +pillar +marcos +plots +handbook +alcoholic +judiciary +avant +slides +extract +masculine +blur +##eum +##force +homage +trembled +owens +hymn +trey +omega +signaling +socks +accumulated +reacted +attic +theo +lining +angie +distraction +primera +talbot +##key +1200 +ti +creativity +billed +##hey +deacon +eduardo +identifies +proposition +dizzy +gunner +hogan +##yam +##pping +##hol +ja +##chan +jensen +reconstructed +##berger +clearance +darius +##nier +abe +harlem +plea +dei +circled +emotionally +notation +fascist +neville +exceeded +upwards +viable +ducks +##fo +workforce +racer +limiting +shri +##lson +possesses +1600 +kerr +moths +devastating +laden +disturbing +locking +##cture +gal +fearing +accreditation +flavor +aide +1870s +mountainous +##baum +melt +##ures +motel +texture +servers +soda +##mb +herd +##nium +erect +puzzled +hum +peggy +examinations +gould +testified +geoff +ren +devised +sacks +##law +denial +posters +grunted +cesar +tutor +ec +gerry +offerings +byrne +falcons +combinations +ct +incoming +pardon +rocking +26th +avengers +flared +mankind +seller +uttar +loch +nadia +stroking +exposing +##hd +fertile +ancestral +instituted +##has +noises +prophecy +taxation +eminent +vivid +pol +##bol +dart +indirect +multimedia +notebook +upside +displaying +adrenaline +referenced +geometric +##iving +progression +##ddy +blunt +announce +##far +implementing +##lav +aggression +liaison +cooler +cares +headache +plantations +gorge +dots +impulse +thickness +ashamed +averaging +kathy +obligation +precursor +137 +fowler +symmetry +thee +225 +hears +##rai +undergoing +ads +butcher +bowler +##lip +cigarettes +subscription +goodness +##ically +browne +##hos +##tech +kyoto +donor +##erty +damaging +friction +drifting +expeditions +hardened +prostitution +152 +fauna +blankets +claw +tossing +snarled +butterflies +recruits +investigative +coated +healed +138 +communal +hai +xiii +academics +boone +psychologist +restless +lahore +stephens +mba +brendan +foreigners +printer +##pc +ached +explode +27th +deed +scratched +dared +##pole +cardiac +1780 +okinawa +proto +commando +compelled +oddly +electrons +##base +replica +thanksgiving +##rist +sheila +deliberate +stafford +tidal +representations +hercules +ou +##path +##iated +kidnapping +lenses +##tling +deficit +samoa +mouths +consuming +computational +maze +granting +smirk +razor +fixture +ideals +inviting +aiden +nominal +##vs +issuing +julio +pitt +ramsey +docks +##oss +exhaust +##owed +bavarian +draped +anterior +mating +ethiopian +explores +noticing +##nton +discarded +convenience +hoffman +endowment +beasts +cartridge +mormon +paternal +probe +sleeves +interfere +lump +deadline +##rail +jenks +bulldogs +scrap +alternating +justified +reproductive +nam +seize +descending +secretariat +kirby +coupe +grouped +smash +panther +sedan +tapping +##18 +lola +cheer +germanic +unfortunate +##eter +unrelated +##fan +subordinate +##sdale +suzanne +advertisement +##ility +horsepower +##lda +cautiously +discourse +luigi +##mans +##fields +noun +prevalent +mao +schneider +everett +surround +governorate +kira +##avia +westward +##take +misty +rails +sustainability +134 +unused +##rating +packs +toast +unwilling +regulate +thy +suffrage +nile +awe +assam +definitions +travelers +affordable +##rb +conferred +sells +undefeated +beneficial +torso +basal +repeating +remixes +##pass +bahrain +cables +fang +##itated +excavated +numbering +statutory +##rey +deluxe +##lian +forested +ramirez +derbyshire +zeus +slamming +transfers +astronomer +banana +lottery +berg +histories +bamboo +##uchi +resurrection +posterior +bowls +vaguely +##thi +thou +preserving +tensed +offence +##inas +meyrick +callum +ridden +watt +langdon +tying +lowland +snorted +daring +truman +##hale +##girl +aura +overly +filing +weighing +goa +infections +philanthropist +saunders +eponymous +##owski +latitude +perspectives +reviewing +mets +commandant +radial +##kha +flashlight +reliability +koch +vowels +amazed +ada +elaine +supper +##rth +##encies +predator +debated +soviets +cola +##boards +##nah +compartment +crooked +arbitrary +fourteenth +##ctive +havana +majors +steelers +clips +profitable +ambush +exited +packers +##tile +nude +cracks +fungi +##е +limb +trousers +josie +shelby +tens +frederic +##ος +definite +smoothly +constellation +insult +baton +discs +lingering +##nco +conclusions +lent +staging +becker +grandpa +shaky +##tron +einstein +obstacles +sk +adverse +elle +economically +##moto +mccartney +thor +dismissal +motions +readings +nostrils +treatise +##pace +squeezing +evidently +prolonged +1783 +venezuelan +je +marguerite +beirut +takeover +shareholders +##vent +denise +digit +airplay +norse +##bbling +imaginary +pills +hubert +blaze +vacated +eliminating +##ello +vine +mansfield +##tty +retrospective +barrow +borne +clutch +bail +forensic +weaving +##nett +##witz +desktop +citadel +promotions +worrying +dorset +ieee +subdivided +##iating +manned +expeditionary +pickup +synod +chuckle +185 +barney +##rz +##ffin +functionality +karachi +litigation +meanings +uc +lick +turbo +anders +##ffed +execute +curl +oppose +ankles +typhoon +##د +##ache +##asia +linguistics +compassion +pressures +grazing +perfection +##iting +immunity +monopoly +muddy +backgrounds +136 +namibia +francesca +monitors +attracting +stunt +tuition +##ии +vegetable +##mates +##quent +mgm +jen +complexes +forts +##ond +cellar +bites +seventeenth +royals +flemish +failures +mast +charities +##cular +peruvian +capitals +macmillan +ipswich +outward +frigate +postgraduate +folds +employing +##ouse +concurrently +fiery +##tai +contingent +nightmares +monumental +nicaragua +##kowski +lizard +mal +fielding +gig +reject +##pad +harding +##ipe +coastline +##cin +##nos +beethoven +humphrey +innovations +##tam +##nge +norris +doris +solicitor +huang +obey +141 +##lc +niagara +##tton +shelves +aug +bourbon +curry +nightclub +specifications +hilton +##ndo +centennial +dispersed +worm +neglected +briggs +sm +font +kuala +uneasy +plc +##nstein +##bound +##aking +##burgh +awaiting +pronunciation +##bbed +##quest +eh +optimal +zhu +raped +greens +presided +brenda +worries +##life +venetian +marxist +turnout +##lius +refined +braced +sins +grasped +sunderland +nickel +speculated +lowell +cyrillic +communism +fundraising +resembling +colonists +mutant +freddie +usc +##mos +gratitude +##run +mural +##lous +chemist +wi +reminds +28th +steals +tess +pietro +##ingen +promoter +ri +microphone +honoured +rai +sant +##qui +feather +##nson +burlington +kurdish +terrorists +deborah +sickness +##wed +##eet +hazard +irritated +desperation +veil +clarity +##rik +jewels +xv +##gged +##ows +##cup +berkshire +unfair +mysteries +orchid +winced +exhaustion +renovations +stranded +obe +infinity +##nies +adapt +redevelopment +thanked +registry +olga +domingo +noir +tudor +ole +##atus +commenting +behaviors +##ais +crisp +pauline +probable +stirling +wigan +##bian +paralympics +panting +surpassed +##rew +luca +barred +pony +famed +##sters +cassandra +waiter +carolyn +exported +##orted +andres +destructive +deeds +jonah +castles +vacancy +suv +##glass +1788 +orchard +yep +famine +belarusian +sprang +##forth +skinny +##mis +administrators +rotterdam +zambia +zhao +boiler +discoveries +##ride +##physics +lucius +disappointing +outreach +spoon +##frame +qualifications +unanimously +enjoys +regency +##iidae +stade +realism +veterinary +rodgers +dump +alain +chestnut +castile +censorship +rumble +gibbs +##itor +communion +reggae +inactivated +logs +loads +##houses +homosexual +##iano +ale +informs +##cas +phrases +plaster +linebacker +ambrose +kaiser +fascinated +850 +limerick +recruitment +forge +mastered +##nding +leinster +rooted +threaten +##strom +borneo +##hes +suggestions +scholarships +propeller +documentaries +patronage +coats +constructing +invest +neurons +comet +entirety +shouts +identities +annoying +unchanged +wary +##antly +##ogy +neat +oversight +##kos +phillies +replay +constance +##kka +incarnation +humble +skies +minus +##acy +smithsonian +##chel +guerrilla +jar +cadets +##plate +surplus +audit +##aru +cracking +joanna +louisa +pacing +##lights +intentionally +##iri +diner +nwa +imprint +australians +tong +unprecedented +bunker +naive +specialists +ark +nichols +railing +leaked +pedal +##uka +shrub +longing +roofs +v8 +captains +neural +tuned +##ntal +##jet +emission +medina +frantic +codex +definitive +sid +abolition +intensified +stocks +enrique +sustain +genoa +oxide +##written +clues +cha +##gers +tributaries +fragment +venom +##rity +##ente +##sca +muffled +vain +sire +laos +##ingly +##hana +hastily +snapping +surfaced +sentiment +motive +##oft +contests +approximate +mesa +luckily +dinosaur +exchanges +propelled +accord +bourne +relieve +tow +masks +offended +##ues +cynthia +##mmer +rains +bartender +zinc +reviewers +lois +##sai +legged +arrogant +rafe +rosie +comprise +handicap +blockade +inlet +lagoon +copied +drilling +shelley +petals +##inian +mandarin +obsolete +##inated +onward +arguably +productivity +cindy +praising +seldom +busch +discusses +raleigh +shortage +ranged +stanton +encouragement +firstly +conceded +overs +temporal +##uke +cbe +##bos +woo +certainty +pumps +##pton +stalked +##uli +lizzie +periodic +thieves +weaker +##night +gases +shoving +chooses +wc +##chemical +prompting +weights +##kill +robust +flanked +sticky +hu +tuberculosis +##eb +##eal +christchurch +resembled +wallet +reese +inappropriate +pictured +distract +fixing +fiddle +giggled +burger +heirs +hairy +mechanic +torque +apache +obsessed +chiefly +cheng +logging +##tag +extracted +meaningful +numb +##vsky +gloucestershire +reminding +##bay +unite +##lit +breeds +diminished +clown +glove +1860s +##ن +##ug +archibald +focal +freelance +sliced +depiction +##yk +organism +switches +sights +stray +crawling +##ril +lever +leningrad +interpretations +loops +anytime +reel +alicia +delighted +##ech +inhaled +xiv +suitcase +bernie +vega +licenses +northampton +exclusion +induction +monasteries +racecourse +homosexuality +##right +##sfield +##rky +dimitri +michele +alternatives +ions +commentators +genuinely +objected +pork +hospitality +fencing +stephan +warships +peripheral +wit +drunken +wrinkled +quentin +spends +departing +chung +numerical +spokesperson +##zone +johannesburg +caliber +killers +##udge +assumes +neatly +demographic +abigail +bloc +##vel +mounting +##lain +bentley +slightest +xu +recipients +##jk +merlin +##writer +seniors +prisons +blinking +hindwings +flickered +kappa +##hel +80s +strengthening +appealing +brewing +gypsy +mali +lashes +hulk +unpleasant +harassment +bio +treaties +predict +instrumentation +pulp +troupe +boiling +mantle +##ffe +ins +##vn +dividing +handles +verbs +##onal +coconut +senegal +340 +thorough +gum +momentarily +##sto +cocaine +panicked +destined +##turing +teatro +denying +weary +captained +mans +##hawks +##code +wakefield +bollywood +thankfully +##16 +cyril +##wu +amendments +##bahn +consultation +stud +reflections +kindness +1787 +internally +##ovo +tex +mosaic +distribute +paddy +seeming +143 +##hic +piers +##15 +##mura +##verse +popularly +winger +kang +sentinel +mccoy +##anza +covenant +##bag +verge +fireworks +suppress +thrilled +dominate +##jar +swansea +##60 +142 +reconciliation +##ndi +stiffened +cue +dorian +##uf +damascus +amor +ida +foremost +##aga +porsche +unseen +dir +##had +##azi +stony +lexi +melodies +##nko +angular +integer +podcast +ants +inherent +jaws +justify +persona +##olved +josephine +##nr +##ressed +customary +flashes +gala +cyrus +glaring +backyard +ariel +physiology +greenland +html +stir +avon +atletico +finch +methodology +ked +##lent +mas +catholicism +townsend +branding +quincy +fits +containers +1777 +ashore +aragon +##19 +forearm +poisoning +##sd +adopting +conquer +grinding +amnesty +keller +finances +evaluate +forged +lankan +instincts +##uto +guam +bosnian +photographed +workplace +desirable +protector +##dog +allocation +intently +encourages +willy +##sten +bodyguard +electro +brighter +##ν +bihar +##chev +lasts +opener +amphibious +sal +verde +arte +##cope +captivity +vocabulary +yields +##tted +agreeing +desmond +pioneered +##chus +strap +campaigned +railroads +##ович +emblem +##dre +stormed +501 +##ulous +marijuana +northumberland +##gn +##nath +bowen +landmarks +beaumont +##qua +danube +##bler +attorneys +th +ge +flyers +critique +villains +cass +mutation +acc +##0s +colombo +mckay +motif +sampling +concluding +syndicate +##rell +neon +stables +ds +warnings +clint +mourning +wilkinson +##tated +merrill +leopard +evenings +exhaled +emil +sonia +ezra +discrete +stove +farrell +fifteenth +prescribed +superhero +##rier +worms +helm +wren +##duction +##hc +expo +##rator +hq +unfamiliar +antony +prevents +acceleration +fiercely +mari +painfully +calculations +cheaper +ign +clifton +irvine +davenport +mozambique +##np +pierced +##evich +wonders +##wig +##cate +##iling +crusade +ware +##uel +enzymes +reasonably +mls +##coe +mater +ambition +bunny +eliot +kernel +##fin +asphalt +headmaster +torah +aden +lush +pins +waived +##care +##yas +joao +substrate +enforce +##grad +##ules +alvarez +selections +epidemic +tempted +##bit +bremen +translates +ensured +waterfront +29th +forrest +manny +malone +kramer +reigning +cookies +simpler +absorption +205 +engraved +##ffy +evaluated +1778 +haze +146 +comforting +crossover +##abe +thorn +##rift +##imo +##pop +suppression +fatigue +cutter +##tr +201 +wurttemberg +##orf +enforced +hovering +proprietary +gb +samurai +syllable +ascent +lacey +tick +lars +tractor +merchandise +rep +bouncing +defendants +##yre +huntington +##ground +##oko +standardized +##hor +##hima +assassinated +nu +predecessors +rainy +liar +assurance +lyrical +##uga +secondly +flattened +ios +parameter +undercover +##mity +bordeaux +punish +ridges +markers +exodus +inactive +hesitate +debbie +nyc +pledge +savoy +nagar +offset +organist +##tium +hesse +marin +converting +##iver +diagram +propulsion +pu +validity +reverted +supportive +##dc +ministries +clans +responds +proclamation +##inae +##ø +##rea +ein +pleading +patriot +sf +birch +islanders +strauss +hates +##dh +brandenburg +concession +rd +##ob +1900s +killings +textbook +antiquity +cinematography +wharf +embarrassing +setup +creed +farmland +inequality +centred +signatures +fallon +370 +##ingham +##uts +ceylon +gazing +directive +laurie +##tern +globally +##uated +##dent +allah +excavation +threads +##cross +148 +frantically +icc +utilize +determines +respiratory +thoughtful +receptions +##dicate +merging +chandra +seine +147 +builders +builds +diagnostic +dev +visibility +goddamn +analyses +dhaka +cho +proves +chancel +concurrent +curiously +canadians +pumped +restoring +1850s +turtles +jaguar +sinister +spinal +traction +declan +vows +1784 +glowed +capitalism +swirling +install +universidad +##lder +##oat +soloist +##genic +##oor +coincidence +beginnings +nissan +dip +resorts +caucasus +combustion +infectious +##eno +pigeon +serpent +##itating +conclude +masked +salad +jew +##gr +surreal +toni +##wc +harmonica +151 +##gins +##etic +##coat +fishermen +intending +bravery +##wave +klaus +titan +wembley +taiwanese +ransom +40th +incorrect +hussein +eyelids +jp +cooke +dramas +utilities +##etta +##print +eisenhower +principally +granada +lana +##rak +openings +concord +##bl +bethany +connie +morality +sega +##mons +##nard +earnings +##kara +##cine +wii +communes +##rel +coma +composing +softened +severed +grapes +##17 +nguyen +analyzed +warlord +hubbard +heavenly +behave +slovenian +##hit +##ony +hailed +filmmakers +trance +caldwell +skye +unrest +coward +likelihood +##aging +bern +sci +taliban +honolulu +propose +##wang +1700 +browser +imagining +cobra +contributes +dukes +instinctively +conan +violinist +##ores +accessories +gradual +##amp +quotes +sioux +##dating +undertake +intercepted +sparkling +compressed +139 +fungus +tombs +haley +imposing +rests +degradation +lincolnshire +retailers +wetlands +tulsa +distributor +dungeon +nun +greenhouse +convey +atlantis +aft +exits +oman +dresser +lyons +##sti +joking +eddy +judgement +omitted +digits +##cts +##game +juniors +##rae +cents +stricken +une +##ngo +wizards +weir +breton +nan +technician +fibers +liking +royalty +##cca +154 +persia +terribly +magician +##rable +##unt +vance +cafeteria +booker +camille +warmer +##static +consume +cavern +gaps +compass +contemporaries +foyer +soothing +graveyard +maj +plunged +blush +##wear +cascade +demonstrates +ordinance +##nov +boyle +##lana +rockefeller +shaken +banjo +izzy +##ense +breathless +vines +##32 +##eman +alterations +chromosome +dwellings +feudal +mole +153 +catalonia +relics +tenant +mandated +##fm +fridge +hats +honesty +patented +raul +heap +cruisers +accusing +enlightenment +infants +wherein +chatham +contractors +zen +affinity +hc +osborne +piston +156 +traps +maturity +##rana +lagos +##zal +peering +##nay +attendant +dealers +protocols +subset +prospects +biographical +##cre +artery +##zers +insignia +nuns +endured +##eration +recommend +schwartz +serbs +berger +cromwell +crossroads +##ctor +enduring +clasped +grounded +##bine +marseille +twitched +abel +choke +https +catalyst +moldova +italians +##tist +disastrous +wee +##oured +##nti +wwf +nope +##piration +##asa +expresses +thumbs +167 +##nza +coca +1781 +cheating +##ption +skipped +sensory +heidelberg +spies +satan +dangers +semifinal +202 +bohemia +whitish +confusing +shipbuilding +relies +surgeons +landings +ravi +baku +moor +suffix +alejandro +##yana +litre +upheld +##unk +rajasthan +##rek +coaster +insists +posture +scenarios +etienne +favoured +appoint +transgender +elephants +poked +greenwood +defences +fulfilled +militant +somali +1758 +chalk +potent +##ucci +migrants +wink +assistants +nos +restriction +activism +niger +##ario +colon +shaun +##sat +daphne +##erated +swam +congregations +reprise +considerations +magnet +playable +xvi +##р +overthrow +tobias +knob +chavez +coding +##mers +propped +katrina +orient +newcomer +##suke +temperate +##pool +farmhouse +interrogation +##vd +committing +##vert +forthcoming +strawberry +joaquin +macau +ponds +shocking +siberia +##cellular +chant +contributors +##nant +##ologists +sped +absorb +hail +1782 +spared +##hore +barbados +karate +opus +originates +saul +##xie +evergreen +leaped +##rock +correlation +exaggerated +weekday +unification +bump +tracing +brig +afb +pathways +utilizing +##ners +mod +mb +disturbance +kneeling +##stad +##guchi +100th +pune +##thy +decreasing +168 +manipulation +miriam +academia +ecosystem +occupational +rbi +##lem +rift +##14 +rotary +stacked +incorporation +awakening +generators +guerrero +racist +##omy +cyber +derivatives +culminated +allie +annals +panzer +sainte +wikipedia +pops +zu +austro +##vate +algerian +politely +nicholson +mornings +educate +tastes +thrill +dartmouth +##gating +db +##jee +regan +differing +concentrating +choreography +divinity +##media +pledged +alexandre +routing +gregor +madeline +##idal +apocalypse +##hora +gunfire +culminating +elves +fined +liang +lam +programmed +tar +guessing +transparency +gabrielle +##gna +cancellation +flexibility +##lining +accession +shea +stronghold +nets +specializes +##rgan +abused +hasan +sgt +ling +exceeding +##₄ +admiration +supermarket +##ark +photographers +specialised +tilt +resonance +hmm +perfume +380 +sami +threatens +garland +botany +guarding +boiled +greet +puppy +russo +supplier +wilmington +vibrant +vijay +##bius +paralympic +grumbled +paige +faa +licking +margins +hurricanes +##gong +fest +grenade +ripping +##uz +counseling +weigh +##sian +needles +wiltshire +edison +costly +##not +fulton +tramway +redesigned +staffordshire +cache +gasping +watkins +sleepy +candidacy +##group +monkeys +timeline +throbbing +##bid +##sos +berth +uzbekistan +vanderbilt +bothering +overturned +ballots +gem +##iger +sunglasses +subscribers +hooker +compelling +ang +exceptionally +saloon +stab +##rdi +carla +terrifying +rom +##vision +coil +##oids +satisfying +vendors +31st +mackay +deities +overlooked +ambient +bahamas +felipe +olympia +whirled +botanist +advertised +tugging +##dden +disciples +morales +unionist +rites +foley +morse +motives +creepy +##₀ +soo +##sz +bargain +highness +frightening +turnpike +tory +reorganization +##cer +depict +biographer +##walk +unopposed +manifesto +##gles +institut +emile +accidental +kapoor +##dam +kilkenny +cortex +lively +##13 +romanesque +jain +shan +cannons +##ood +##ske +petrol +echoing +amalgamated +disappears +cautious +proposes +sanctions +trenton +##ر +flotilla +aus +contempt +tor +canary +cote +theirs +##hun +conceptual +deleted +fascinating +paso +blazing +elf +honourable +hutchinson +##eiro +##outh +##zin +surveyor +tee +amidst +wooded +reissue +intro +##ono +cobb +shelters +newsletter +hanson +brace +encoding +confiscated +dem +caravan +marino +scroll +melodic +cows +imam +##adi +##aneous +northward +searches +biodiversity +cora +310 +roaring +##bers +connell +theologian +halo +compose +pathetic +unmarried +dynamo +##oot +az +calculation +toulouse +deserves +humour +nr +forgiveness +tam +undergone +martyr +pamela +myths +whore +counselor +hicks +290 +heavens +battleship +electromagnetic +##bbs +stellar +establishments +presley +hopped +##chin +temptation +90s +wills +nas +##yuan +nhs +##nya +seminars +##yev +adaptations +gong +asher +lex +indicator +sikh +tobago +cites +goin +##yte +satirical +##gies +characterised +correspond +bubbles +lure +participates +##vid +eruption +skate +therapeutic +1785 +canals +wholesale +defaulted +sac +460 +petit +##zzled +virgil +leak +ravens +256 +portraying +##yx +ghetto +creators +dams +portray +vicente +##rington +fae +namesake +bounty +##arium +joachim +##ota +##iser +aforementioned +axle +snout +depended +dismantled +reuben +480 +##ibly +gallagher +##lau +##pd +earnest +##ieu +##iary +inflicted +objections +##llar +asa +gritted +##athy +jericho +##sea +##was +flick +underside +ceramics +undead +substituted +195 +eastward +undoubtedly +wheeled +chimney +##iche +guinness +cb +##ager +siding +##bell +traitor +baptiste +disguised +inauguration +149 +tipperary +choreographer +perched +warmed +stationary +eco +##ike +##ntes +bacterial +##aurus +flores +phosphate +##core +attacker +invaders +alvin +intersects +a1 +indirectly +immigrated +businessmen +cornelius +valves +narrated +pill +sober +ul +nationale +monastic +applicants +scenery +##jack +161 +motifs +constitutes +cpu +##osh +jurisdictions +sd +tuning +irritation +woven +##uddin +fertility +gao +##erie +antagonist +impatient +glacial +hides +boarded +denominations +interception +##jas +cookie +nicola +##tee +algebraic +marquess +bahn +parole +buyers +bait +turbines +paperwork +bestowed +natasha +renee +oceans +purchases +157 +vaccine +215 +##tock +fixtures +playhouse +integrate +jai +oswald +intellectuals +##cky +booked +nests +mortimer +##isi +obsession +sept +##gler +##sum +440 +scrutiny +simultaneous +squinted +##shin +collects +oven +shankar +penned +remarkably +##я +slips +luggage +spectral +1786 +collaborations +louie +consolidation +##ailed +##ivating +420 +hoover +blackpool +harness +ignition +vest +tails +belmont +mongol +skinner +##nae +visually +mage +derry +##tism +##unce +stevie +transitional +##rdy +redskins +drying +prep +prospective +##21 +annoyance +oversee +##loaded +fills +##books +##iki +announces +fda +scowled +respects +prasad +mystic +tucson +##vale +revue +springer +bankrupt +1772 +aristotle +salvatore +habsburg +##geny +dal +natal +nut +pod +chewing +darts +moroccan +walkover +rosario +lenin +punjabi +##ße +grossed +scattering +wired +invasive +hui +polynomial +corridors +wakes +gina +portrays +##cratic +arid +retreating +erich +irwin +sniper +##dha +linen +lindsey +maneuver +butch +shutting +socio +bounce +commemorative +postseason +jeremiah +pines +275 +mystical +beads +bp +abbas +furnace +bidding +consulted +assaulted +empirical +rubble +enclosure +sob +weakly +cancel +polly +yielded +##emann +curly +prediction +battered +70s +vhs +jacqueline +render +sails +barked +detailing +grayson +riga +sloane +raging +##yah +herbs +bravo +##athlon +alloy +giggle +imminent +suffers +assumptions +waltz +##itate +accomplishments +##ited +bathing +remixed +deception +prefix +##emia +deepest +##tier +##eis +balkan +frogs +##rong +slab +##pate +philosophers +peterborough +grains +imports +dickinson +rwanda +##atics +1774 +dirk +lan +tablets +##rove +clone +##rice +caretaker +hostilities +mclean +##gre +regimental +treasures +norms +impose +tsar +tango +diplomacy +variously +complain +192 +recognise +arrests +1779 +celestial +pulitzer +##dus +bing +libretto +##moor +adele +splash +##rite +expectation +lds +confronts +##izer +spontaneous +harmful +wedge +entrepreneurs +buyer +##ope +bilingual +translate +rugged +conner +circulated +uae +eaton +##gra +##zzle +lingered +lockheed +vishnu +reelection +alonso +##oom +joints +yankee +headline +cooperate +heinz +laureate +invading +##sford +echoes +scandinavian +##dham +hugging +vitamin +salute +micah +hind +trader +##sper +radioactive +##ndra +militants +poisoned +ratified +remark +campeonato +deprived +wander +prop +##dong +outlook +##tani +##rix +##eye +chiang +darcy +##oping +mandolin +spice +statesman +babylon +182 +walled +forgetting +afro +##cap +158 +giorgio +buffer +##polis +planetary +##gis +overlap +terminals +kinda +centenary +##bir +arising +manipulate +elm +ke +1770 +ak +##tad +chrysler +mapped +moose +pomeranian +quad +macarthur +assemblies +shoreline +recalls +stratford +##rted +noticeable +##evic +imp +##rita +##sque +accustomed +supplying +tents +disgusted +vogue +sipped +filters +khz +reno +selecting +luftwaffe +mcmahon +tyne +masterpiece +carriages +collided +dunes +exercised +flare +remembers +muzzle +##mobile +heck +##rson +burgess +lunged +middleton +boycott +bilateral +##sity +hazardous +lumpur +multiplayer +spotlight +jackets +goldman +liege +porcelain +rag +waterford +benz +attracts +hopeful +battling +ottomans +kensington +baked +hymns +cheyenne +lattice +levine +borrow +polymer +clashes +michaels +monitored +commitments +denounced +##25 +##von +cavity +##oney +hobby +akin +##holders +futures +intricate +cornish +patty +##oned +illegally +dolphin +##lag +barlow +yellowish +maddie +apologized +luton +plagued +##puram +nana +##rds +sway +fanny +łodz +##rino +psi +suspicions +hanged +##eding +initiate +charlton +##por +nak +competent +235 +analytical +annex +wardrobe +reservations +##rma +sect +162 +fairfax +hedge +piled +buckingham +uneven +bauer +simplicity +snyder +interpret +accountability +donors +moderately +byrd +continents +##cite +##max +disciple +hr +jamaican +ping +nominees +##uss +mongolian +diver +attackers +eagerly +ideological +pillows +miracles +apartheid +revolver +sulfur +clinics +moran +163 +##enko +ile +katy +rhetoric +##icated +chronology +recycling +##hrer +elongated +mughal +pascal +profiles +vibration +databases +domination +##fare +##rant +matthias +digest +rehearsal +polling +weiss +initiation +reeves +clinging +flourished +impress +ngo +##hoff +##ume +buckley +symposium +rhythms +weed +emphasize +transforming +##taking +##gence +##yman +accountant +analyze +flicker +foil +priesthood +voluntarily +decreases +##80 +##hya +slater +sv +charting +mcgill +##lde +moreno +##iu +besieged +zur +robes +##phic +admitting +api +deported +turmoil +peyton +earthquakes +##ares +nationalists +beau +clair +brethren +interrupt +welch +curated +galerie +requesting +164 +##ested +impending +steward +viper +##vina +complaining +beautifully +brandy +foam +nl +1660 +##cake +alessandro +punches +laced +explanations +##lim +attribute +clit +reggie +discomfort +##cards +smoothed +whales +##cene +adler +countered +duffy +disciplinary +widening +recipe +reliance +conducts +goats +gradient +preaching +##shaw +matilda +quasi +striped +meridian +cannabis +cordoba +certificates +##agh +##tering +graffiti +hangs +pilgrims +repeats +##ych +revive +urine +etat +##hawk +fueled +belts +fuzzy +susceptible +##hang +mauritius +salle +sincere +beers +hooks +##cki +arbitration +entrusted +advise +sniffed +seminar +junk +donnell +processors +principality +strapped +celia +mendoza +everton +fortunes +prejudice +starving +reassigned +steamer +##lund +tuck +evenly +foreman +##ffen +dans +375 +envisioned +slit +##xy +baseman +liberia +rosemary +##weed +electrified +periodically +potassium +stride +contexts +sperm +slade +mariners +influx +bianca +subcommittee +##rane +spilling +icao +estuary +##nock +delivers +iphone +##ulata +isa +mira +bohemian +dessert +##sbury +welcoming +proudly +slowing +##chs +musee +ascension +russ +##vian +waits +##psy +africans +exploit +##morphic +gov +eccentric +crab +peck +##ull +entrances +formidable +marketplace +groom +bolted +metabolism +patton +robbins +courier +payload +endure +##ifier +andes +refrigerator +##pr +ornate +##uca +ruthless +illegitimate +masonry +strasbourg +bikes +adobe +##³ +apples +quintet +willingly +niche +bakery +corpses +energetic +##cliffe +##sser +##ards +177 +centimeters +centro +fuscous +cretaceous +rancho +##yde +andrei +telecom +tottenham +oasis +ordination +vulnerability +presiding +corey +cp +penguins +sims +##pis +malawi +piss +##48 +correction +##cked +##ffle +##ryn +countdown +detectives +psychiatrist +psychedelic +dinosaurs +blouse +##get +choi +vowed +##oz +randomly +##pol +49ers +scrub +blanche +bruins +dusseldorf +##using +unwanted +##ums +212 +dominique +elevations +headlights +om +laguna +##oga +1750 +famously +ignorance +shrewsbury +##aine +ajax +breuning +che +confederacy +greco +overhaul +##screen +paz +skirts +disagreement +cruelty +jagged +phoebe +shifter +hovered +viruses +##wes +mandy +##lined +##gc +landlord +squirrel +dashed +##ι +ornamental +gag +wally +grange +literal +spurs +undisclosed +proceeding +yin +##text +billie +orphan +spanned +humidity +indy +weighted +presentations +explosions +lucian +##tary +vaughn +hindus +##anga +##hell +psycho +171 +daytona +protects +efficiently +rematch +sly +tandem +##oya +rebranded +impaired +hee +metropolis +peach +godfrey +diaspora +ethnicity +prosperous +gleaming +dar +grossing +playback +##rden +stripe +pistols +##tain +births +labelled +##cating +172 +rudy +alba +##onne +aquarium +hostility +##gb +##tase +shudder +sumatra +hardest +lakers +consonant +creeping +demos +homicide +capsule +zeke +liberties +expulsion +pueblo +##comb +trait +transporting +##ddin +##neck +##yna +depart +gregg +mold +ledge +hangar +oldham +playboy +termination +analysts +gmbh +romero +##itic +insist +cradle +filthy +brightness +slash +shootout +deposed +bordering +##truct +isis +microwave +tumbled +sheltered +cathy +werewolves +messy +andersen +convex +clapped +clinched +satire +wasting +edo +vc +rufus +##jak +mont +##etti +poznan +##keeping +restructuring +transverse +##rland +azerbaijani +slovene +gestures +roommate +choking +shear +##quist +vanguard +oblivious +##hiro +disagreed +baptism +##lich +coliseum +##aceae +salvage +societe +cory +locke +relocation +relying +versailles +ahl +swelling +##elo +cheerful +##word +##edes +gin +sarajevo +obstacle +diverted +##nac +messed +thoroughbred +fluttered +utrecht +chewed +acquaintance +assassins +dispatch +mirza +##wart +nike +salzburg +swell +yen +##gee +idle +ligue +samson +##nds +##igh +playful +spawned +##cise +tease +##case +burgundy +##bot +stirring +skeptical +interceptions +marathi +##dies +bedrooms +aroused +pinch +##lik +preferences +tattoos +buster +digitally +projecting +rust +##ital +kitten +priorities +addison +pseudo +##guard +dusk +icons +sermon +##psis +##iba +bt +##lift +##xt +ju +truce +rink +##dah +##wy +defects +psychiatry +offences +calculate +glucose +##iful +##rized +##unda +francaise +##hari +richest +warwickshire +carly +1763 +purity +redemption +lending +##cious +muse +bruises +cerebral +aero +carving +##name +preface +terminology +invade +monty +##int +anarchist +blurred +##iled +rossi +treats +guts +shu +foothills +ballads +undertaking +premise +cecilia +affiliates +blasted +conditional +wilder +minors +drone +rudolph +buffy +swallowing +horton +attested +##hop +rutherford +howell +primetime +livery +penal +##bis +minimize +hydro +wrecked +wrought +palazzo +##gling +cans +vernacular +friedman +nobleman +shale +walnut +danielle +##ection +##tley +sears +##kumar +chords +lend +flipping +streamed +por +dracula +gallons +sacrifices +gamble +orphanage +##iman +mckenzie +##gible +boxers +daly +##balls +##ان +208 +##ific +##rative +##iq +exploited +slated +##uity +circling +hillary +pinched +goldberg +provost +campaigning +lim +piles +ironically +jong +mohan +successors +usaf +##tem +##ught +autobiographical +haute +preserves +##ending +acquitted +comparisons +203 +hydroelectric +gangs +cypriot +torpedoes +rushes +chrome +derive +bumps +instability +fiat +pets +##mbe +silas +dye +reckless +settler +##itation +info +heats +##writing +176 +canonical +maltese +fins +mushroom +stacy +aspen +avid +##kur +##loading +vickers +gaston +hillside +statutes +wilde +gail +kung +sabine +comfortably +motorcycles +##rgo +169 +pneumonia +fetch +##sonic +axel +faintly +parallels +##oop +mclaren +spouse +compton +interdisciplinary +miner +##eni +181 +clamped +##chal +##llah +separates +versa +##mler +scarborough +labrador +##lity +##osing +rutgers +hurdles +como +166 +burt +divers +##100 +wichita +cade +coincided +##erson +bruised +mla +##pper +vineyard +##ili +##brush +notch +mentioning +jase +hearted +kits +doe +##acle +pomerania +##ady +ronan +seizure +pavel +problematic +##zaki +domenico +##ulin +catering +penelope +dependence +parental +emilio +ministerial +atkinson +##bolic +clarkson +chargers +colby +grill +peeked +arises +summon +##aged +fools +##grapher +faculties +qaeda +##vial +garner +refurbished +##hwa +geelong +disasters +nudged +bs +shareholder +lori +algae +reinstated +rot +##ades +##nous +invites +stainless +183 +inclusive +##itude +diocesan +til +##icz +denomination +##xa +benton +floral +registers +##ider +##erman +##kell +absurd +brunei +guangzhou +hitter +retaliation +##uled +##eve +blanc +nh +consistency +contamination +##eres +##rner +dire +palermo +broadcasters +diaries +inspire +vols +brewer +tightening +ky +mixtape +hormone +##tok +stokes +##color +##dly +##ssi +pg +##ometer +##lington +sanitation +##tility +intercontinental +apps +##adt +¹⁄₂ +cylinders +economies +favourable +unison +croix +gertrude +odyssey +vanity +dangling +##logists +upgrades +dice +middleweight +practitioner +##ight +206 +henrik +parlor +orion +angered +lac +python +blurted +##rri +sensual +intends +swings +angled +##phs +husky +attain +peerage +precinct +textiles +cheltenham +shuffled +dai +confess +tasting +bhutan +##riation +tyrone +segregation +abrupt +ruiz +##rish +smirked +blackwell +confidential +browning +amounted +##put +vase +scarce +fabulous +raided +staple +guyana +unemployed +glider +shay +##tow +carmine +troll +intervene +squash +superstar +##uce +cylindrical +len +roadway +researched +handy +##rium +##jana +meta +lao +declares +##rring +##tadt +##elin +##kova +willem +shrubs +napoleonic +realms +skater +qi +volkswagen +##ł +tad +hara +archaeologist +awkwardly +eerie +##kind +wiley +##heimer +##24 +titus +organizers +cfl +crusaders +lama +usb +vent +enraged +thankful +occupants +maximilian +##gaard +possessing +textbooks +##oran +collaborator +quaker +##ulo +avalanche +mono +silky +straits +isaiah +mustang +surged +resolutions +potomac +descend +cl +kilograms +plato +strains +saturdays +##olin +bernstein +##ype +holstein +ponytail +##watch +belize +conversely +heroine +perpetual +##ylus +charcoal +piedmont +glee +negotiating +backdrop +prologue +##jah +##mmy +pasadena +climbs +ramos +sunni +##holm +##tner +##tri +anand +deficiency +hertfordshire +stout +##avi +aperture +orioles +##irs +doncaster +intrigued +bombed +coating +otis +##mat +cocktail +##jit +##eto +amir +arousal +sar +##proof +##act +##ories +dixie +pots +##bow +whereabouts +159 +##fted +drains +bullying +cottages +scripture +coherent +fore +poe +appetite +##uration +sampled +##ators +##dp +derrick +rotor +jays +peacock +installment +##rro +advisors +##coming +rodeo +scotch +##mot +##db +##fen +##vant +ensued +rodrigo +dictatorship +martyrs +twenties +##н +towed +incidence +marta +rainforest +sai +scaled +##cles +oceanic +qualifiers +symphonic +mcbride +dislike +generalized +aubrey +colonization +##iation +##lion +##ssing +disliked +lublin +salesman +##ulates +spherical +whatsoever +sweating +avalon +contention +punt +severity +alderman +atari +##dina +##grant +##rop +scarf +seville +vertices +annexation +fairfield +fascination +inspiring +launches +palatinate +regretted +##rca +feral +##iom +elk +nap +olsen +reddy +yong +##leader +##iae +garment +transports +feng +gracie +outrage +viceroy +insides +##esis +breakup +grady +organizer +softer +grimaced +222 +murals +galicia +arranging +vectors +##rsten +bas +##sb +##cens +sloan +##eka +bitten +ara +fender +nausea +bumped +kris +banquet +comrades +detector +persisted +##llan +adjustment +endowed +cinemas +##shot +sellers +##uman +peek +epa +kindly +neglect +simpsons +talon +mausoleum +runaway +hangul +lookout +##cic +rewards +coughed +acquainted +chloride +##ald +quicker +accordion +neolithic +##qa +artemis +coefficient +lenny +pandora +tx +##xed +ecstasy +litter +segunda +chairperson +gemma +hiss +rumor +vow +nasal +antioch +compensate +patiently +transformers +##eded +judo +morrow +penis +posthumous +philips +bandits +husbands +denote +flaming +##any +##phones +langley +yorker +1760 +walters +##uo +##kle +gubernatorial +fatty +samsung +leroy +outlaw +##nine +unpublished +poole +jakob +##ᵢ +##ₙ +crete +distorted +superiority +##dhi +intercept +crust +mig +claus +crashes +positioning +188 +stallion +301 +frontal +armistice +##estinal +elton +aj +encompassing +camel +commemorated +malaria +woodward +calf +cigar +penetrate +##oso +willard +##rno +##uche +illustrate +amusing +convergence +noteworthy +##lma +##rva +journeys +realise +manfred +##sable +410 +##vocation +hearings +fiance +##posed +educators +provoked +adjusting +##cturing +modular +stockton +paterson +vlad +rejects +electors +selena +maureen +##tres +uber +##rce +swirled +##num +proportions +nanny +pawn +naturalist +parma +apostles +awoke +ethel +wen +##bey +monsoon +overview +##inating +mccain +rendition +risky +adorned +##ih +equestrian +germain +nj +conspicuous +confirming +##yoshi +shivering +##imeter +milestone +rumours +flinched +bounds +smacked +token +##bei +lectured +automobiles +##shore +impacted +##iable +nouns +nero +##leaf +ismail +prostitute +trams +##lace +bridget +sud +stimulus +impressions +reins +revolves +##oud +##gned +giro +honeymoon +##swell +criterion +##sms +##uil +libyan +prefers +##osition +211 +preview +sucks +accusation +bursts +metaphor +diffusion +tolerate +faye +betting +cinematographer +liturgical +specials +bitterly +humboldt +##ckle +flux +rattled +##itzer +archaeologists +odor +authorised +marshes +discretion +##ов +alarmed +archaic +inverse +##leton +explorers +##pine +drummond +tsunami +woodlands +##minate +##tland +booklet +insanity +owning +insert +crafted +calculus +##tore +receivers +##bt +stung +##eca +##nched +prevailing +travellers +eyeing +lila +graphs +##borne +178 +julien +##won +morale +adaptive +therapist +erica +cw +libertarian +bowman +pitches +vita +##ional +crook +##ads +##entation +caledonia +mutiny +##sible +1840s +automation +##ß +flock +##pia +ironic +pathology +##imus +remarried +##22 +joker +withstand +energies +##att +shropshire +hostages +madeleine +tentatively +conflicting +mateo +recipes +euros +ol +mercenaries +nico +##ndon +albuquerque +augmented +mythical +bel +freud +##child +cough +##lica +365 +freddy +lillian +genetically +nuremberg +calder +209 +bonn +outdoors +paste +suns +urgency +vin +restraint +tyson +##cera +##selle +barrage +bethlehem +kahn +##par +mounts +nippon +barony +happier +ryu +makeshift +sheldon +blushed +castillo +barking +listener +taped +bethel +fluent +headlines +pornography +rum +disclosure +sighing +mace +doubling +gunther +manly +##plex +rt +interventions +physiological +forwards +emerges +##tooth +##gny +compliment +rib +recession +visibly +barge +faults +connector +exquisite +prefect +##rlin +patio +##cured +elevators +brandt +italics +pena +173 +wasp +satin +ea +botswana +graceful +respectable +##jima +##rter +##oic +franciscan +generates +##dl +alfredo +disgusting +##olate +##iously +sherwood +warns +cod +promo +cheryl +sino +##ة +##escu +twitch +##zhi +brownish +thom +ortiz +##dron +densely +##beat +carmel +reinforce +##bana +187 +anastasia +downhill +vertex +contaminated +remembrance +harmonic +homework +##sol +fiancee +gears +olds +angelica +loft +ramsay +quiz +colliery +sevens +##cape +autism +##hil +walkway +##boats +ruben +abnormal +ounce +khmer +##bbe +zachary +bedside +morphology +punching +##olar +sparrow +convinces +##35 +hewitt +queer +remastered +rods +mabel +solemn +notified +lyricist +symmetric +##xide +174 +encore +passports +wildcats +##uni +baja +##pac +mildly +##ease +bleed +commodity +mounds +glossy +orchestras +##omo +damian +prelude +ambitions +##vet +awhile +remotely +##aud +asserts +imply +##iques +distinctly +modelling +remedy +##dded +windshield +dani +xiao +##endra +audible +powerplant +1300 +invalid +elemental +acquisitions +##hala +immaculate +libby +plata +smuggling +ventilation +denoted +minh +##morphism +430 +differed +dion +kelley +lore +mocking +sabbath +spikes +hygiene +drown +runoff +stylized +tally +liberated +aux +interpreter +righteous +aba +siren +reaper +pearce +millie +##cier +##yra +gaius +##iso +captures +##ttering +dorm +claudio +##sic +benches +knighted +blackness +##ored +discount +fumble +oxidation +routed +##ς +novak +perpendicular +spoiled +fracture +splits +##urt +pads +topology +##cats +axes +fortunate +offenders +protestants +esteem +221 +broadband +convened +frankly +hound +prototypes +isil +facilitated +keel +##sher +sahara +awaited +bubba +orb +prosecutors +186 +hem +520 +##xing +relaxing +remnant +romney +sorted +slalom +stefano +ulrich +##active +exemption +folder +pauses +foliage +hitchcock +epithet +204 +criticisms +##aca +ballistic +brody +hinduism +chaotic +youths +equals +##pala +pts +thicker +analogous +capitalist +improvised +overseeing +sinatra +ascended +beverage +##tl +straightforward +##kon +curran +##west +bois +325 +induce +surveying +emperors +sax +unpopular +##kk +cartoonist +fused +##mble +unto +##yuki +localities +##cko +##ln +darlington +slain +academie +lobbying +sediment +puzzles +##grass +defiance +dickens +manifest +tongues +alumnus +arbor +coincide +184 +appalachian +mustafa +examiner +cabaret +traumatic +yves +bracelet +draining +heroin +magnum +baths +odessa +consonants +mitsubishi +##gua +kellan +vaudeville +##fr +joked +null +straps +probation +##ław +ceded +interfaces +##pas +##zawa +blinding +viet +224 +rothschild +museo +640 +huddersfield +##vr +tactic +##storm +brackets +dazed +incorrectly +##vu +reg +glazed +fearful +manifold +benefited +irony +##sun +stumbling +##rte +willingness +balkans +mei +wraps +##aba +injected +##lea +gu +syed +harmless +##hammer +bray +takeoff +poppy +timor +cardboard +astronaut +purdue +weeping +southbound +cursing +stalls +diagonal +##neer +lamar +bryce +comte +weekdays +harrington +##uba +negatively +##see +lays +grouping +##cken +##henko +affirmed +halle +modernist +##lai +hodges +smelling +aristocratic +baptized +dismiss +justification +oilers +##now +coupling +qin +snack +healer +##qing +gardener +layla +battled +formulated +stephenson +gravitational +##gill +##jun +1768 +granny +coordinating +suites +##cd +##ioned +monarchs +##cote +##hips +sep +blended +apr +barrister +deposition +fia +mina +policemen +paranoid +##pressed +churchyard +covert +crumpled +creep +abandoning +tr +transmit +conceal +barr +understands +readiness +spire +##cology +##enia +##erry +610 +startling +unlock +vida +bowled +slots +##nat +##islav +spaced +trusting +admire +rig +##ink +slack +##70 +mv +207 +casualty +##wei +classmates +##odes +##rar +##rked +amherst +furnished +evolve +foundry +menace +mead +##lein +flu +wesleyan +##kled +monterey +webber +##vos +wil +##mith +##на +bartholomew +justices +restrained +##cke +amenities +191 +mediated +sewage +trenches +ml +mainz +##thus +1800s +##cula +##inski +caine +bonding +213 +converts +spheres +superseded +marianne +crypt +sweaty +ensign +historia +##br +spruce +##post +##ask +forks +thoughtfully +yukon +pamphlet +ames +##uter +karma +##yya +bryn +negotiation +sighs +incapable +##mbre +##ntial +actresses +taft +##mill +luce +prevailed +##amine +1773 +motionless +envoy +testify +investing +sculpted +instructors +provence +kali +cullen +horseback +##while +goodwin +##jos +gaa +norte +##ldon +modify +wavelength +abd +214 +skinned +sprinter +forecast +scheduling +marries +squared +tentative +##chman +boer +##isch +bolts +swap +fisherman +assyrian +impatiently +guthrie +martins +murdoch +194 +tanya +nicely +dolly +lacy +med +##45 +syn +decks +fashionable +millionaire +##ust +surfing +##ml +##ision +heaved +tammy +consulate +attendees +routinely +197 +fuse +saxophonist +backseat +malaya +##lord +scowl +tau +##ishly +193 +sighted +steaming +##rks +303 +911 +##holes +##hong +ching +##wife +bless +conserved +jurassic +stacey +unix +zion +chunk +rigorous +blaine +198 +peabody +slayer +dismay +brewers +nz +##jer +det +##glia +glover +postwar +int +penetration +sylvester +imitation +vertically +airlift +heiress +knoxville +viva +##uin +390 +macon +##rim +##fighter +##gonal +janice +##orescence +##wari +marius +belongings +leicestershire +196 +blanco +inverted +preseason +sanity +sobbing +##due +##elt +##dled +collingwood +regeneration +flickering +shortest +##mount +##osi +feminism +##lat +sherlock +cabinets +fumbled +northbound +precedent +snaps +##mme +researching +##akes +guillaume +insights +manipulated +vapor +neighbour +sap +gangster +frey +f1 +stalking +scarcely +callie +barnett +tendencies +audi +doomed +assessing +slung +panchayat +ambiguous +bartlett +##etto +distributing +violating +wolverhampton +##hetic +swami +histoire +##urus +liable +pounder +groin +hussain +larsen +popping +surprises +##atter +vie +curt +##station +mute +relocate +musicals +authorization +richter +##sef +immortality +tna +bombings +##press +deteriorated +yiddish +##acious +robbed +colchester +cs +pmid +ao +verified +balancing +apostle +swayed +recognizable +oxfordshire +retention +nottinghamshire +contender +judd +invitational +shrimp +uhf +##icient +cleaner +longitudinal +tanker +##mur +acronym +broker +koppen +sundance +suppliers +##gil +4000 +clipped +fuels +petite +##anne +landslide +helene +diversion +populous +landowners +auspices +melville +quantitative +##xes +ferries +nicky +##llus +doo +haunting +roche +carver +downed +unavailable +##pathy +approximation +hiroshima +##hue +garfield +valle +comparatively +keyboardist +traveler +##eit +congestion +calculating +subsidiaries +##bate +serb +modernization +fairies +deepened +ville +averages +##lore +inflammatory +tonga +##itch +co₂ +squads +##hea +gigantic +serum +enjoyment +retailer +verona +35th +cis +##phobic +magna +technicians +##vati +arithmetic +##sport +levin +##dation +amtrak +chow +sienna +##eyer +backstage +entrepreneurship +##otic +learnt +tao +##udy +worcestershire +formulation +baggage +hesitant +bali +sabotage +##kari +barren +enhancing +murmur +pl +freshly +putnam +syntax +aces +medicines +resentment +bandwidth +##sier +grins +chili +guido +##sei +framing +implying +gareth +lissa +genevieve +pertaining +admissions +geo +thorpe +proliferation +sato +bela +analyzing +parting +##gor +awakened +##isman +huddled +secrecy +##kling +hush +gentry +540 +dungeons +##ego +coasts +##utz +sacrificed +##chule +landowner +mutually +prevalence +programmer +adolescent +disrupted +seaside +gee +trusts +vamp +georgie +##nesian +##iol +schedules +sindh +##market +etched +hm +sparse +bey +beaux +scratching +gliding +unidentified +216 +collaborating +gems +jesuits +oro +accumulation +shaping +mbe +anal +##xin +231 +enthusiasts +newscast +##egan +janata +dewey +parkinson +179 +ankara +biennial +towering +dd +inconsistent +950 +##chet +thriving +terminate +cabins +furiously +eats +advocating +donkey +marley +muster +phyllis +leiden +##user +grassland +glittering +iucn +loneliness +217 +memorandum +armenians +##ddle +popularized +rhodesia +60s +lame +##illon +sans +bikini +header +orbits +##xx +##finger +##ulator +sharif +spines +biotechnology +strolled +naughty +yates +##wire +fremantle +milo +##mour +abducted +removes +##atin +humming +wonderland +##chrome +##ester +hume +pivotal +##rates +armand +grams +believers +elector +rte +apron +bis +scraped +##yria +endorsement +initials +##llation +eps +dotted +hints +buzzing +emigration +nearer +##tom +indicators +##ulu +coarse +neutron +protectorate +##uze +directional +exploits +pains +loire +1830s +proponents +guggenheim +rabbits +ritchie +305 +hectare +inputs +hutton +##raz +verify +##ako +boilers +longitude +##lev +skeletal +yer +emilia +citrus +compromised +##gau +pokemon +prescription +paragraph +eduard +cadillac +attire +categorized +kenyan +weddings +charley +##bourg +entertain +monmouth +##lles +nutrients +davey +mesh +incentive +practised +ecosystems +kemp +subdued +overheard +##rya +bodily +maxim +##nius +apprenticeship +ursula +##fight +lodged +rug +silesian +unconstitutional +patel +inspected +coyote +unbeaten +##hak +34th +disruption +convict +parcel +##cl +##nham +collier +implicated +mallory +##iac +##lab +susannah +winkler +##rber +shia +phelps +sediments +graphical +robotic +##sner +adulthood +mart +smoked +##isto +kathryn +clarified +##aran +divides +convictions +oppression +pausing +burying +##mt +federico +mathias +eileen +##tana +kite +hunched +##acies +189 +##atz +disadvantage +liza +kinetic +greedy +paradox +yokohama +dowager +trunks +ventured +##gement +gupta +vilnius +olaf +##thest +crimean +hopper +##ej +progressively +arturo +mouthed +arrondissement +##fusion +rubin +simulcast +oceania +##orum +##stra +##rred +busiest +intensely +navigator +cary +##vine +##hini +##bies +fife +rowe +rowland +posing +insurgents +shafts +lawsuits +activate +conor +inward +culturally +garlic +265 +##eering +eclectic +##hui +##kee +##nl +furrowed +vargas +meteorological +rendezvous +##aus +culinary +commencement +##dition +quota +##notes +mommy +salaries +overlapping +mule +##iology +##mology +sums +wentworth +##isk +##zione +mainline +subgroup +##illy +hack +plaintiff +verdi +bulb +differentiation +engagements +multinational +supplemented +bertrand +caller +regis +##naire +##sler +##arts +##imated +blossom +propagation +kilometer +viaduct +vineyards +##uate +beckett +optimization +golfer +songwriters +seminal +semitic +thud +volatile +evolving +ridley +##wley +trivial +distributions +scandinavia +jiang +##ject +wrestled +insistence +##dio +emphasizes +napkin +##ods +adjunct +rhyme +##ricted +##eti +hopeless +surrounds +tremble +32nd +smoky +##ntly +oils +medicinal +padded +steer +wilkes +219 +255 +concessions +hue +uniquely +blinded +landon +yahoo +##lane +hendrix +commemorating +dex +specify +chicks +##ggio +intercity +1400 +morley +##torm +highlighting +##oting +pang +oblique +stalled +##liner +flirting +newborn +1769 +bishopric +shaved +232 +currie +##ush +dharma +spartan +##ooped +favorites +smug +novella +sirens +abusive +creations +espana +##lage +paradigm +semiconductor +sheen +##rdo +##yen +##zak +nrl +renew +##pose +##tur +adjutant +marches +norma +##enity +ineffective +weimar +grunt +##gat +lordship +plotting +expenditure +infringement +lbs +refrain +av +mimi +mistakenly +postmaster +1771 +##bara +ras +motorsports +tito +199 +subjective +##zza +bully +stew +##kaya +prescott +1a +##raphic +##zam +bids +styling +paranormal +reeve +sneaking +exploding +katz +akbar +migrant +syllables +indefinitely +##ogical +destroys +replaces +applause +##phine +pest +##fide +218 +articulated +bertie +##thing +##cars +##ptic +courtroom +crowley +aesthetics +cummings +tehsil +hormones +titanic +dangerously +##ibe +stadion +jaenelle +auguste +ciudad +##chu +mysore +partisans +##sio +lucan +philipp +##aly +debating +henley +interiors +##rano +##tious +homecoming +beyonce +usher +henrietta +prepares +weeds +##oman +ely +plucked +##pire +##dable +luxurious +##aq +artifact +password +pasture +juno +maddy +minsk +##dder +##ologies +##rone +assessments +martian +royalist +1765 +examines +##mani +##rge +nino +223 +parry +scooped +relativity +##eli +##uting +##cao +congregational +noisy +traverse +##agawa +strikeouts +nickelodeon +obituary +transylvania +binds +depictions +polk +trolley +##yed +##lard +breeders +##under +dryly +hokkaido +1762 +strengths +stacks +bonaparte +connectivity +neared +prostitutes +stamped +anaheim +gutierrez +sinai +##zzling +bram +fresno +madhya +##86 +proton +##lena +##llum +##phon +reelected +wanda +##anus +##lb +ample +distinguishing +##yler +grasping +sermons +tomato +bland +stimulation +avenues +##eux +spreads +scarlett +fern +pentagon +assert +baird +chesapeake +ir +calmed +distortion +fatalities +##olis +correctional +pricing +##astic +##gina +prom +dammit +ying +collaborate +##chia +welterweight +33rd +pointer +substitution +bonded +umpire +communicating +multitude +paddle +##obe +federally +intimacy +##insky +betray +ssr +##lett +##lean +##lves +##therapy +airbus +##tery +functioned +ud +bearer +biomedical +netflix +##hire +##nca +condom +brink +ik +##nical +macy +##bet +flap +gma +experimented +jelly +lavender +##icles +##ulia +munro +##mian +##tial +rye +##rle +60th +gigs +hottest +rotated +predictions +fuji +bu +##erence +##omi +barangay +##fulness +##sas +clocks +##rwood +##liness +cereal +roe +wight +decker +uttered +babu +onion +xml +forcibly +##df +petra +sarcasm +hartley +peeled +storytelling +##42 +##xley +##ysis +##ffa +fibre +kiel +auditor +fig +harald +greenville +##berries +geographically +nell +quartz +##athic +cemeteries +##lr +crossings +nah +holloway +reptiles +chun +sichuan +snowy +660 +corrections +##ivo +zheng +ambassadors +blacksmith +fielded +fluids +hardcover +turnover +medications +melvin +academies +##erton +ro +roach +absorbing +spaniards +colton +##founded +outsider +espionage +kelsey +245 +edible +##ulf +dora +establishes +##sham +##tries +contracting +##tania +cinematic +costello +nesting +##uron +connolly +duff +##nology +mma +##mata +fergus +sexes +gi +optics +spectator +woodstock +banning +##hee +##fle +differentiate +outfielder +refinery +226 +312 +gerhard +horde +lair +drastically +##udi +landfall +##cheng +motorsport +odi +##achi +predominant +quay +skins +##ental +edna +harshly +complementary +murdering +##aves +wreckage +##90 +ono +outstretched +lennox +munitions +galen +reconcile +470 +scalp +bicycles +gillespie +questionable +rosenberg +guillermo +hostel +jarvis +kabul +volvo +opium +yd +##twined +abuses +decca +outpost +##cino +sensible +neutrality +##64 +ponce +anchorage +atkins +turrets +inadvertently +disagree +libre +vodka +reassuring +weighs +##yal +glide +jumper +ceilings +repertory +outs +stain +##bial +envy +##ucible +smashing +heightened +policing +hyun +mixes +lai +prima +##ples +celeste +##bina +lucrative +intervened +kc +manually +##rned +stature +staffed +bun +bastards +nairobi +priced +##auer +thatcher +##kia +tripped +comune +##ogan +##pled +brasil +incentives +emanuel +hereford +musica +##kim +benedictine +biennale +##lani +eureka +gardiner +rb +knocks +sha +##ael +##elled +##onate +efficacy +ventura +masonic +sanford +maize +leverage +##feit +capacities +santana +##aur +novelty +vanilla +##cter +##tour +benin +##oir +##rain +neptune +drafting +tallinn +##cable +humiliation +##boarding +schleswig +fabian +bernardo +liturgy +spectacle +sweeney +pont +routledge +##tment +cosmos +ut +hilt +sleek +universally +##eville +##gawa +typed +##dry +favors +allegheny +glaciers +##rly +recalling +aziz +##log +parasite +requiem +auf +##berto +##llin +illumination +##breaker +##issa +festivities +bows +govern +vibe +vp +333 +sprawled +larson +pilgrim +bwf +leaping +##rts +##ssel +alexei +greyhound +hoarse +##dler +##oration +seneca +##cule +gaping +##ulously +##pura +cinnamon +##gens +##rricular +craven +fantasies +houghton +engined +reigned +dictator +supervising +##oris +bogota +commentaries +unnatural +fingernails +spirituality +tighten +##tm +canadiens +protesting +intentional +cheers +sparta +##ytic +##iere +##zine +widen +belgarath +controllers +dodd +iaaf +navarre +##ication +defect +squire +steiner +whisky +##mins +560 +inevitably +tome +##gold +chew +##uid +##lid +elastic +##aby +streaked +alliances +jailed +regal +##ined +##phy +czechoslovak +narration +absently +##uld +bluegrass +guangdong +quran +criticizing +hose +hari +##liest +##owa +skier +streaks +deploy +##lom +raft +bose +dialed +huff +##eira +haifa +simplest +bursting +endings +ib +sultanate +##titled +franks +whitman +ensures +sven +##ggs +collaborators +forster +organising +ui +banished +napier +injustice +teller +layered +thump +##otti +roc +battleships +evidenced +fugitive +sadie +robotics +##roud +equatorial +geologist +##iza +yielding +##bron +##sr +internationale +mecca +##diment +sbs +skyline +toad +uploaded +reflective +undrafted +lal +leafs +bayern +##dai +lakshmi +shortlisted +##stick +##wicz +camouflage +donate +af +christi +lau +##acio +disclosed +nemesis +1761 +assemble +straining +northamptonshire +tal +##asi +bernardino +premature +heidi +42nd +coefficients +galactic +reproduce +buzzed +sensations +zionist +monsieur +myrtle +##eme +archery +strangled +musically +viewpoint +antiquities +bei +trailers +seahawks +cured +pee +preferring +tasmanian +lange +sul +##mail +##working +colder +overland +lucivar +massey +gatherings +haitian +##smith +disapproval +flaws +##cco +##enbach +1766 +npr +##icular +boroughs +creole +forums +techno +1755 +dent +abdominal +streetcar +##eson +##stream +procurement +gemini +predictable +##tya +acheron +christoph +feeder +fronts +vendor +bernhard +jammu +tumors +slang +##uber +goaltender +twists +curving +manson +vuelta +mer +peanut +confessions +pouch +unpredictable +allowance +theodor +vascular +##factory +bala +authenticity +metabolic +coughing +nanjing +##cea +pembroke +##bard +splendid +36th +ff +hourly +##ahu +elmer +handel +##ivate +awarding +thrusting +dl +experimentation +##hesion +##46 +caressed +entertained +steak +##rangle +biologist +orphans +baroness +oyster +stepfather +##dridge +mirage +reefs +speeding +##31 +barons +1764 +227 +inhabit +preached +repealed +##tral +honoring +boogie +captives +administer +johanna +##imate +gel +suspiciously +1767 +sobs +##dington +backbone +hayward +garry +##folding +##nesia +maxi +##oof +##ppe +ellison +galileo +##stand +crimea +frenzy +amour +bumper +matrices +natalia +baking +garth +palestinians +##grove +smack +conveyed +ensembles +gardening +##manship +##rup +##stituting +1640 +harvesting +topography +jing +shifters +dormitory +##carriage +##lston +ist +skulls +##stadt +dolores +jewellery +sarawak +##wai +##zier +fences +christy +confinement +tumbling +credibility +fir +stench +##bria +##plication +##nged +##sam +virtues +##belt +marjorie +pba +##eem +##made +celebrates +schooner +agitated +barley +fulfilling +anthropologist +##pro +restrict +novi +regulating +##nent +padres +##rani +##hesive +loyola +tabitha +milky +olson +proprietor +crambidae +guarantees +intercollegiate +ljubljana +hilda +##sko +ignorant +hooded +##lts +sardinia +##lidae +##vation +frontman +privileged +witchcraft +##gp +jammed +laude +poking +##than +bracket +amazement +yunnan +##erus +maharaja +linnaeus +264 +commissioning +milano +peacefully +##logies +akira +rani +regulator +##36 +grasses +##rance +luzon +crows +compiler +gretchen +seaman +edouard +tab +buccaneers +ellington +hamlets +whig +socialists +##anto +directorial +easton +mythological +##kr +##vary +rhineland +semantic +taut +dune +inventions +succeeds +##iter +replication +branched +##pired +jul +prosecuted +kangaroo +penetrated +##avian +middlesbrough +doses +bleak +madam +predatory +relentless +##vili +reluctance +##vir +hailey +crore +silvery +1759 +monstrous +swimmers +transmissions +hawthorn +informing +##eral +toilets +caracas +crouch +kb +##sett +295 +cartel +hadley +##aling +alexia +yvonne +##biology +cinderella +eton +superb +blizzard +stabbing +industrialist +maximus +##gm +##orus +groves +maud +clade +oversized +comedic +##bella +rosen +nomadic +fulham +montane +beverages +galaxies +redundant +swarm +##rot +##folia +##llis +buckinghamshire +fen +bearings +bahadur +##rom +gilles +phased +dynamite +faber +benoit +vip +##ount +##wd +booking +fractured +tailored +anya +spices +westwood +cairns +auditions +inflammation +steamed +##rocity +##acion +##urne +skyla +thereof +watford +torment +archdeacon +transforms +lulu +demeanor +fucked +serge +##sor +mckenna +minas +entertainer +##icide +caress +originate +residue +##sty +1740 +##ilised +##org +beech +##wana +subsidies +##ghton +emptied +gladstone +ru +firefighters +voodoo +##rcle +het +nightingale +tamara +edmond +ingredient +weaknesses +silhouette +285 +compatibility +withdrawing +hampson +##mona +anguish +giggling +##mber +bookstore +##jiang +southernmost +tilting +##vance +bai +economical +rf +briefcase +dreadful +hinted +projections +shattering +totaling +##rogate +analogue +indicted +periodical +fullback +##dman +haynes +##tenberg +##ffs +##ishment +1745 +thirst +stumble +penang +vigorous +##ddling +##kor +##lium +octave +##ove +##enstein +##inen +##ones +siberian +##uti +cbn +repeal +swaying +##vington +khalid +tanaka +unicorn +otago +plastered +lobe +riddle +##rella +perch +##ishing +croydon +filtered +graeme +tripoli +##ossa +crocodile +##chers +sufi +mined +##tung +inferno +lsu +##phi +swelled +utilizes +£2 +cale +periodicals +styx +hike +informally +coop +lund +##tidae +ala +hen +qui +transformations +disposed +sheath +chickens +##cade +fitzroy +sas +silesia +unacceptable +odisha +1650 +sabrina +pe +spokane +ratios +athena +massage +shen +dilemma +##drum +##riz +##hul +corona +doubtful +niall +##pha +##bino +fines +cite +acknowledging +bangor +ballard +bathurst +##resh +huron +mustered +alzheimer +garments +kinase +tyre +warship +##cp +flashback +pulmonary +braun +cheat +kamal +cyclists +constructions +grenades +ndp +traveller +excuses +stomped +signalling +trimmed +futsal +mosques +relevance +##wine +wta +##23 +##vah +##lter +hoc +##riding +optimistic +##´s +deco +sim +interacting +rejecting +moniker +waterways +##ieri +##oku +mayors +gdansk +outnumbered +pearls +##ended +##hampton +fairs +totals +dominating +262 +notions +stairway +compiling +pursed +commodities +grease +yeast +##jong +carthage +griffiths +residual +amc +contraction +laird +sapphire +##marine +##ivated +amalgamation +dissolve +inclination +lyle +packaged +altitudes +suez +canons +graded +lurched +narrowing +boasts +guise +wed +enrico +##ovsky +rower +scarred +bree +cub +iberian +protagonists +bargaining +proposing +trainers +voyages +vans +fishes +##aea +##ivist +##verance +encryption +artworks +kazan +sabre +cleopatra +hepburn +rotting +supremacy +mecklenburg +##brate +burrows +hazards +outgoing +flair +organizes +##ctions +scorpion +##usions +boo +234 +chevalier +dunedin +slapping +##34 +ineligible +pensions +##38 +##omic +manufactures +emails +bismarck +238 +weakening +blackish +ding +mcgee +quo +##rling +northernmost +xx +manpower +greed +sampson +clicking +##ange +##horpe +##inations +##roving +torre +##eptive +##moral +symbolism +38th +asshole +meritorious +outfits +splashed +biographies +sprung +astros +##tale +302 +737 +filly +raoul +nw +tokugawa +linden +clubhouse +##apa +tracts +romano +##pio +putin +tags +##note +chained +dickson +gunshot +moe +gunn +rashid +##tails +zipper +##bas +##nea +contrasted +##ply +##udes +plum +pharaoh +##pile +aw +comedies +ingrid +sandwiches +subdivisions +1100 +mariana +nokia +kamen +hz +delaney +veto +herring +##words +possessive +outlines +##roup +siemens +stairwell +rc +gallantry +messiah +palais +yells +233 +zeppelin +##dm +bolivar +##cede +smackdown +mckinley +##mora +##yt +muted +geologic +finely +unitary +avatar +hamas +maynard +rees +bog +contrasting +##rut +liv +chico +disposition +pixel +##erate +becca +dmitry +yeshiva +narratives +##lva +##ulton +mercenary +sharpe +tempered +navigate +stealth +amassed +keynes +##lini +untouched +##rrie +havoc +lithium +##fighting +abyss +graf +southward +wolverine +balloons +implements +ngos +transitions +##icum +ambushed +concacaf +dormant +economists +##dim +costing +csi +rana +universite +boulders +verity +##llon +collin +mellon +misses +cypress +fluorescent +lifeless +spence +##ulla +crewe +shepard +pak +revelations +##م +jolly +gibbons +paw +##dro +##quel +freeing +##test +shack +fries +palatine +##51 +##hiko +accompaniment +cruising +recycled +##aver +erwin +sorting +synthesizers +dyke +realities +sg +strides +enslaved +wetland +##ghan +competence +gunpowder +grassy +maroon +reactors +objection +##oms +carlson +gearbox +macintosh +radios +shelton +##sho +clergyman +prakash +254 +mongols +trophies +oricon +228 +stimuli +twenty20 +cantonese +cortes +mirrored +##saurus +bhp +cristina +melancholy +##lating +enjoyable +nuevo +##wny +downfall +schumacher +##ind +banging +lausanne +rumbled +paramilitary +reflex +ax +amplitude +migratory +##gall +##ups +midi +barnard +lastly +sherry +##hp +##nall +keystone +##kra +carleton +slippery +##53 +coloring +foe +socket +otter +##rgos +mats +##tose +consultants +bafta +bison +topping +##km +490 +primal +abandonment +transplant +atoll +hideous +mort +pained +reproduced +tae +howling +##turn +unlawful +billionaire +hotter +poised +lansing +##chang +dinamo +retro +messing +nfc +domesday +##mina +blitz +timed +##athing +##kley +ascending +gesturing +##izations +signaled +tis +chinatown +mermaid +savanna +jameson +##aint +catalina +##pet +##hers +cochrane +cy +chatting +##kus +alerted +computation +mused +noelle +majestic +mohawk +campo +octagonal +##sant +##hend +241 +aspiring +##mart +comprehend +iona +paralyzed +shimmering +swindon +rhone +##eley +reputed +configurations +pitchfork +agitation +francais +gillian +lipstick +##ilo +outsiders +pontifical +resisting +bitterness +sewer +rockies +##edd +##ucher +misleading +1756 +exiting +galloway +##nging +risked +##heart +246 +commemoration +schultz +##rka +integrating +##rsa +poses +shrieked +##weiler +guineas +gladys +jerking +owls +goldsmith +nightly +penetrating +##unced +lia +##33 +ignited +betsy +##aring +##thorpe +follower +vigorously +##rave +coded +kiran +knit +zoology +tbilisi +##28 +##bered +repository +govt +deciduous +dino +growling +##bba +enhancement +unleashed +chanting +pussy +biochemistry +##eric +kettle +repression +toxicity +nrhp +##arth +##kko +##bush +ernesto +commended +outspoken +242 +mca +parchment +sms +kristen +##aton +bisexual +raked +glamour +navajo +a2 +conditioned +showcased +##hma +spacious +youthful +##esa +usl +appliances +junta +brest +layne +conglomerate +enchanted +chao +loosened +picasso +circulating +inspect +montevideo +##centric +##kti +piazza +spurred +##aith +bari +freedoms +poultry +stamford +lieu +##ect +indigo +sarcastic +bahia +stump +attach +dvds +frankenstein +lille +approx +scriptures +pollen +##script +nmi +overseen +##ivism +tides +proponent +newmarket +inherit +milling +##erland +centralized +##rou +distributors +credentials +drawers +abbreviation +##lco +##xon +downing +uncomfortably +ripe +##oes +erase +franchises +##ever +populace +##bery +##khar +decomposition +pleas +##tet +daryl +sabah +##stle +##wide +fearless +genie +lesions +annette +##ogist +oboe +appendix +nair +dripped +petitioned +maclean +mosquito +parrot +rpg +hampered +1648 +operatic +reservoirs +##tham +irrelevant +jolt +summarized +##fp +medallion +##taff +##− +clawed +harlow +narrower +goddard +marcia +bodied +fremont +suarez +altering +tempest +mussolini +porn +##isms +sweetly +oversees +walkers +solitude +grimly +shrines +hk +ich +supervisors +hostess +dietrich +legitimacy +brushes +expressive +##yp +dissipated +##rse +localized +systemic +##nikov +gettysburg +##js +##uaries +dialogues +muttering +251 +housekeeper +sicilian +discouraged +##frey +beamed +kaladin +halftime +kidnap +##amo +##llet +1754 +synonymous +depleted +instituto +insulin +reprised +##opsis +clashed +##ctric +interrupting +radcliffe +insisting +medici +1715 +ejected +playfully +turbulent +##47 +starvation +##rini +shipment +rebellious +petersen +verification +merits +##rified +cakes +##charged +1757 +milford +shortages +spying +fidelity +##aker +emitted +storylines +harvested +seismic +##iform +cheung +kilda +theoretically +barbie +lynx +##rgy +##tius +goblin +mata +poisonous +##nburg +reactive +residues +obedience +##евич +conjecture +##rac +401 +hating +sixties +kicker +moaning +motown +##bha +emancipation +neoclassical +##hering +consoles +ebert +professorship +##tures +sustaining +assaults +obeyed +affluent +incurred +tornadoes +##eber +##zow +emphasizing +highlanders +cheated +helmets +##ctus +internship +terence +bony +executions +legislators +berries +peninsular +tinged +##aco +1689 +amplifier +corvette +ribbons +lavish +pennant +##lander +worthless +##chfield +##forms +mariano +pyrenees +expenditures +##icides +chesterfield +mandir +tailor +39th +sergey +nestled +willed +aristocracy +devotees +goodnight +raaf +rumored +weaponry +remy +appropriations +harcourt +burr +riaa +##lence +limitation +unnoticed +guo +soaking +swamps +##tica +collapsing +tatiana +descriptive +brigham +psalm +##chment +maddox +##lization +patti +caliph +##aja +akron +injuring +serra +##ganj +basins +##sari +astonished +launcher +##church +hilary +wilkins +sewing +##sf +stinging +##fia +##ncia +underwood +startup +##ition +compilations +vibrations +embankment +jurist +##nity +bard +juventus +groundwater +kern +palaces +helium +boca +cramped +marissa +soto +##worm +jae +princely +##ggy +faso +bazaar +warmly +##voking +229 +pairing +##lite +##grate +##nets +wien +freaked +ulysses +rebirth +##alia +##rent +mummy +guzman +jimenez +stilled +##nitz +trajectory +tha +woken +archival +professions +##pts +##pta +hilly +shadowy +shrink +##bolt +norwood +glued +migrate +stereotypes +devoid +##pheus +625 +evacuate +horrors +infancy +gotham +knowles +optic +downloaded +sachs +kingsley +parramatta +darryl +mor +##onale +shady +commence +confesses +kan +##meter +##placed +marlborough +roundabout +regents +frigates +io +##imating +gothenburg +revoked +carvings +clockwise +convertible +intruder +##sche +banged +##ogo +vicky +bourgeois +##mony +dupont +footing +##gum +pd +##real +buckle +yun +penthouse +sane +720 +serviced +stakeholders +neumann +bb +##eers +comb +##gam +catchment +pinning +rallies +typing +##elles +forefront +freiburg +sweetie +giacomo +widowed +goodwill +worshipped +aspirations +midday +##vat +fishery +##trick +bournemouth +turk +243 +hearth +ethanol +guadalajara +murmurs +sl +##uge +afforded +scripted +##hta +wah +##jn +coroner +translucent +252 +memorials +puck +progresses +clumsy +##race +315 +candace +recounted +##27 +##slin +##uve +filtering +##mac +howl +strata +heron +leveled +##ays +dubious +##oja +##т +##wheel +citations +exhibiting +##laya +##mics +##pods +turkic +##lberg +injunction +##ennial +##mit +antibodies +##44 +organise +##rigues +cardiovascular +cushion +inverness +##zquez +dia +cocoa +sibling +##tman +##roid +expanse +feasible +tunisian +algiers +##relli +rus +bloomberg +dso +westphalia +bro +tacoma +281 +downloads +##ours +konrad +duran +##hdi +continuum +jett +compares +legislator +secession +##nable +##gues +##zuka +translating +reacher +##gley +##ła +aleppo +##agi +tc +orchards +trapping +linguist +versatile +drumming +postage +calhoun +superiors +##mx +barefoot +leary +##cis +ignacio +alfa +kaplan +##rogen +bratislava +mori +##vot +disturb +haas +313 +cartridges +gilmore +radiated +salford +tunic +hades +##ulsive +archeological +delilah +magistrates +auditioned +brewster +charters +empowerment +blogs +cappella +dynasties +iroquois +whipping +##krishna +raceway +truths +myra +weaken +judah +mcgregor +##horse +mic +refueling +37th +burnley +bosses +markus +premio +query +##gga +dunbar +##economic +darkest +lyndon +sealing +commendation +reappeared +##mun +addicted +ezio +slaughtered +satisfactory +shuffle +##eves +##thic +##uj +fortification +warrington +##otto +resurrected +fargo +mane +##utable +##lei +##space +foreword +ox +##aris +##vern +abrams +hua +##mento +sakura +##alo +uv +sentimental +##skaya +midfield +##eses +sturdy +scrolls +macleod +##kyu +entropy +##lance +mitochondrial +cicero +excelled +thinner +convoys +perceive +##oslav +##urable +systematically +grind +burkina +287 +##tagram +ops +##aman +guantanamo +##cloth +##tite +forcefully +wavy +##jou +pointless +##linger +##tze +layton +portico +superficial +clerical +outlaws +##hism +burials +muir +##inn +creditors +hauling +rattle +##leg +calais +monde +archers +reclaimed +dwell +wexford +hellenic +falsely +remorse +##tek +dough +furnishings +##uttered +gabon +neurological +novice +##igraphy +contemplated +pulpit +nightstand +saratoga +##istan +documenting +pulsing +taluk +##firmed +busted +marital +##rien +disagreements +wasps +##yes +hodge +mcdonnell +mimic +fran +pendant +dhabi +musa +##nington +congratulations +argent +darrell +concussion +losers +regrets +thessaloniki +reversal +donaldson +hardwood +thence +achilles +ritter +##eran +demonic +jurgen +prophets +goethe +eki +classmate +buff +##cking +yank +irrational +##inging +perished +seductive +qur +sourced +##crat +##typic +mustard +ravine +barre +horizontally +characterization +phylogenetic +boise +##dit +##runner +##tower +brutally +intercourse +seduce +##bbing +fay +ferris +ogden +amar +nik +unarmed +##inator +evaluating +kyrgyzstan +sweetness +##lford +##oki +mccormick +meiji +notoriety +stimulate +disrupt +figuring +instructional +mcgrath +##zoo +groundbreaking +##lto +flinch +khorasan +agrarian +bengals +mixer +radiating +##sov +ingram +pitchers +nad +tariff +##cript +tata +##codes +##emi +##ungen +appellate +lehigh +##bled +##giri +brawl +duct +texans +##ciation +##ropolis +skipper +speculative +vomit +doctrines +stresses +253 +davy +graders +whitehead +jozef +timely +cumulative +haryana +paints +appropriately +boon +cactus +##ales +##pid +dow +legions +##pit +perceptions +1730 +picturesque +##yse +periphery +rune +wr +##aha +celtics +sentencing +whoa +##erin +confirms +variance +425 +moines +mathews +spade +rave +m1 +fronted +fx +blending +alleging +reared +##gl +237 +##paper +grassroots +eroded +##free +##physical +directs +ordeal +##sław +accelerate +hacker +rooftop +##inia +lev +buys +cebu +devote +##lce +specialising +##ulsion +choreographed +repetition +warehouses +##ryl +paisley +tuscany +analogy +sorcerer +hash +huts +shards +descends +exclude +nix +chaplin +gaga +ito +vane +##drich +causeway +misconduct +limo +orchestrated +glands +jana +##kot +u2 +##mple +##sons +branching +contrasts +scoop +longed +##virus +chattanooga +##75 +syrup +cornerstone +##tized +##mind +##iaceae +careless +precedence +frescoes +##uet +chilled +consult +modelled +snatch +peat +##thermal +caucasian +humane +relaxation +spins +temperance +##lbert +occupations +lambda +hybrids +moons +mp3 +##oese +247 +rolf +societal +yerevan +ness +##ssler +befriended +mechanized +nominate +trough +boasted +cues +seater +##hom +bends +##tangle +conductors +emptiness +##lmer +eurasian +adriatic +tian +##cie +anxiously +lark +propellers +chichester +jock +ev +2a +##holding +credible +recounts +tori +loyalist +abduction +##hoot +##redo +nepali +##mite +ventral +tempting +##ango +##crats +steered +##wice +javelin +dipping +laborers +prentice +looming +titanium +##ː +badges +emir +tensor +##ntation +egyptians +rash +denies +hawthorne +lombard +showers +wehrmacht +dietary +trojan +##reus +welles +executing +horseshoe +lifeboat +##lak +elsa +infirmary +nearing +roberta +boyer +mutter +trillion +joanne +##fine +##oked +sinks +vortex +uruguayan +clasp +sirius +##block +accelerator +prohibit +sunken +byu +chronological +diplomats +ochreous +510 +symmetrical +1644 +maia +##tology +salts +reigns +atrocities +##ия +hess +bared +issn +##vyn +cater +saturated +##cycle +##isse +sable +voyager +dyer +yusuf +##inge +fountains +wolff +##39 +##nni +engraving +rollins +atheist +ominous +##ault +herr +chariot +martina +strung +##fell +##farlane +horrific +sahib +gazes +saetan +erased +ptolemy +##olic +flushing +lauderdale +analytic +##ices +530 +navarro +beak +gorilla +herrera +broom +guadalupe +raiding +sykes +311 +bsc +deliveries +1720 +invasions +carmichael +tajikistan +thematic +ecumenical +sentiments +onstage +##rians +##brand +##sume +catastrophic +flanks +molten +##arns +waller +aimee +terminating +##icing +alternately +##oche +nehru +printers +outraged +##eving +empires +template +banners +repetitive +za +##oise +vegetarian +##tell +guiana +opt +cavendish +lucknow +synthesized +##hani +##mada +finalized +##ctable +fictitious +mayoral +unreliable +##enham +embracing +peppers +rbis +##chio +##neo +inhibition +slashed +togo +orderly +embroidered +safari +salty +236 +barron +benito +totaled +##dak +pubs +simulated +caden +devin +tolkien +momma +welding +sesame +##ept +gottingen +hardness +630 +shaman +temeraire +620 +adequately +pediatric +##kit +ck +assertion +radicals +composure +cadence +seafood +beaufort +lazarus +mani +warily +cunning +kurdistan +249 +cantata +##kir +ares +##41 +##clusive +nape +townland +geared +insulted +flutter +boating +violate +draper +dumping +malmo +##hh +##romatic +firearm +alta +bono +obscured +##clave +exceeds +panorama +unbelievable +##train +preschool +##essed +disconnected +installing +rescuing +secretaries +accessibility +##castle +##drive +##ifice +##film +bouts +slug +waterway +mindanao +##buro +##ratic +halves +##ل +calming +liter +maternity +adorable +bragg +electrification +mcc +##dote +roxy +schizophrenia +##body +munoz +kaye +whaling +239 +mil +tingling +tolerant +##ago +unconventional +volcanoes +##finder +deportivo +##llie +robson +kaufman +neuroscience +wai +deportation +masovian +scraping +converse +##bh +hacking +bulge +##oun +administratively +yao +580 +amp +mammoth +booster +claremont +hooper +nomenclature +pursuits +mclaughlin +melinda +##sul +catfish +barclay +substrates +taxa +zee +originals +kimberly +packets +padma +##ality +borrowing +ostensibly +solvent +##bri +##genesis +##mist +lukas +shreveport +veracruz +##ь +##lou +##wives +cheney +tt +anatolia +hobbs +##zyn +cyclic +radiant +alistair +greenish +siena +dat +independents +##bation +conform +pieter +hyper +applicant +bradshaw +spores +telangana +vinci +inexpensive +nuclei +322 +jang +nme +soho +spd +##ign +cradled +receptionist +pow +##43 +##rika +fascism +##ifer +experimenting +##ading +##iec +##region +345 +jocelyn +maris +stair +nocturnal +toro +constabulary +elgin +##kker +msc +##giving +##schen +##rase +doherty +doping +sarcastically +batter +maneuvers +##cano +##apple +##gai +##git +intrinsic +##nst +##stor +1753 +showtime +cafes +gasps +lviv +ushered +##thed +fours +restart +astonishment +transmitting +flyer +shrugs +##sau +intriguing +cones +dictated +mushrooms +medial +##kovsky +##elman +escorting +gaped +##26 +godfather +##door +##sell +djs +recaptured +timetable +vila +1710 +3a +aerodrome +mortals +scientology +##orne +angelina +mag +convection +unpaid +insertion +intermittent +lego +##nated +endeavor +kota +pereira +##lz +304 +bwv +glamorgan +insults +agatha +fey +##cend +fleetwood +mahogany +protruding +steamship +zeta +##arty +mcguire +suspense +##sphere +advising +urges +##wala +hurriedly +meteor +gilded +inline +arroyo +stalker +##oge +excitedly +revered +##cure +earle +introductory +##break +##ilde +mutants +puff +pulses +reinforcement +##haling +curses +lizards +stalk +correlated +##fixed +fallout +macquarie +##unas +bearded +denton +heaving +802 +##ocation +winery +assign +dortmund +##lkirk +everest +invariant +charismatic +susie +##elling +bled +lesley +telegram +sumner +bk +##ogen +##к +wilcox +needy +colbert +duval +##iferous +##mbled +allotted +attends +imperative +##hita +replacements +hawker +##inda +insurgency +##zee +##eke +casts +##yla +680 +ives +transitioned +##pack +##powering +authoritative +baylor +flex +cringed +plaintiffs +woodrow +##skie +drastic +ape +aroma +unfolded +commotion +nt +preoccupied +theta +routines +lasers +privatization +wand +domino +ek +clenching +nsa +strategically +showered +bile +handkerchief +pere +storing +christophe +insulting +316 +nakamura +romani +asiatic +magdalena +palma +cruises +stripping +405 +konstantin +soaring +##berman +colloquially +forerunner +havilland +incarcerated +parasites +sincerity +##utus +disks +plank +saigon +##ining +corbin +homo +ornaments +powerhouse +##tlement +chong +fastened +feasibility +idf +morphological +usable +##nish +##zuki +aqueduct +jaguars +keepers +##flies +aleksandr +faust +assigns +ewing +bacterium +hurled +tricky +hungarians +integers +wallis +321 +yamaha +##isha +hushed +oblivion +aviator +evangelist +friars +##eller +monograph +ode +##nary +airplanes +labourers +charms +##nee +1661 +hagen +tnt +rudder +fiesta +transcript +dorothea +ska +inhibitor +maccabi +retorted +raining +encompassed +clauses +menacing +1642 +lineman +##gist +vamps +##ape +##dick +gloom +##rera +dealings +easing +seekers +##nut +##pment +helens +unmanned +##anu +##isson +basics +##amy +##ckman +adjustments +1688 +brutality +horne +##zell +sui +##55 +##mable +aggregator +##thal +rhino +##drick +##vira +counters +zoom +##01 +##rting +mn +montenegrin +packard +##unciation +##♭ +##kki +reclaim +scholastic +thugs +pulsed +##icia +syriac +quan +saddam +banda +kobe +blaming +buddies +dissent +##lusion +##usia +corbett +jaya +delle +erratic +lexie +##hesis +435 +amiga +hermes +##pressing +##leen +chapels +gospels +jamal +##uating +compute +revolving +warp +##sso +##thes +armory +##eras +##gol +antrim +loki +##kow +##asian +##good +##zano +braid +handwriting +subdistrict +funky +pantheon +##iculate +concurrency +estimation +improper +juliana +##his +newcomers +johnstone +staten +communicated +##oco +##alle +sausage +stormy +##stered +##tters +superfamily +##grade +acidic +collateral +tabloid +##oped +##rza +bladder +austen +##ellant +mcgraw +##hay +hannibal +mein +aquino +lucifer +wo +badger +boar +cher +christensen +greenberg +interruption +##kken +jem +244 +mocked +bottoms +cambridgeshire +##lide +sprawling +##bbly +eastwood +ghent +synth +##buck +advisers +##bah +nominally +hapoel +qu +daggers +estranged +fabricated +towels +vinnie +wcw +misunderstanding +anglia +nothin +unmistakable +##dust +##lova +chilly +marquette +truss +##edge +##erine +reece +##lty +##chemist +##connected +272 +308 +41st +bash +raion +waterfalls +##ump +##main +labyrinth +queue +theorist +##istle +bharatiya +flexed +soundtracks +rooney +leftist +patrolling +wharton +plainly +alleviate +eastman +schuster +topographic +engages +immensely +unbearable +fairchild +1620 +dona +lurking +parisian +oliveira +ia +indictment +hahn +bangladeshi +##aster +vivo +##uming +##ential +antonia +expects +indoors +kildare +harlan +##logue +##ogenic +##sities +forgiven +##wat +childish +tavi +##mide +##orra +plausible +grimm +successively +scooted +##bola +##dget +##rith +spartans +emery +flatly +azure +epilogue +##wark +flourish +##iny +##tracted +##overs +##oshi +bestseller +distressed +receipt +spitting +hermit +topological +##cot +drilled +subunit +francs +##layer +eel +##fk +##itas +octopus +footprint +petitions +ufo +##say +##foil +interfering +leaking +palo +##metry +thistle +valiant +##pic +narayan +mcpherson +##fast +gonzales +##ym +##enne +dustin +novgorod +solos +##zman +doin +##raph +##patient +##meyer +soluble +ashland +cuffs +carole +pendleton +whistling +vassal +##river +deviation +revisited +constituents +rallied +rotate +loomed +##eil +##nting +amateurs +augsburg +auschwitz +crowns +skeletons +##cona +bonnet +257 +dummy +globalization +simeon +sleeper +mandal +differentiated +##crow +##mare +milne +bundled +exasperated +talmud +owes +segregated +##feng +##uary +dentist +piracy +props +##rang +devlin +##torium +malicious +paws +##laid +dependency +##ergy +##fers +##enna +258 +pistons +rourke +jed +grammatical +tres +maha +wig +512 +ghostly +jayne +##achal +##creen +##ilis +##lins +##rence +designate +##with +arrogance +cambodian +clones +showdown +throttle +twain +##ception +lobes +metz +nagoya +335 +braking +##furt +385 +roaming +##minster +amin +crippled +##37 +##llary +indifferent +hoffmann +idols +intimidating +1751 +261 +influenza +memo +onions +1748 +bandage +consciously +##landa +##rage +clandestine +observes +swiped +tangle +##ener +##jected +##trum +##bill +##lta +hugs +congresses +josiah +spirited +##dek +humanist +managerial +filmmaking +inmate +rhymes +debuting +grimsby +ur +##laze +duplicate +vigor +##tf +republished +bolshevik +refurbishment +antibiotics +martini +methane +newscasts +royale +horizons +levant +iain +visas +##ischen +paler +##around +manifestation +snuck +alf +chop +futile +pedestal +rehab +##kat +bmg +kerman +res +fairbanks +jarrett +abstraction +saharan +##zek +1746 +procedural +clearer +kincaid +sash +luciano +##ffey +crunch +helmut +##vara +revolutionaries +##tute +creamy +leach +##mmon +1747 +permitting +nes +plight +wendell +##lese +contra +ts +clancy +ipa +mach +staples +autopsy +disturbances +nueva +karin +pontiac +##uding +proxy +venerable +haunt +leto +bergman +expands +##helm +wal +##pipe +canning +celine +cords +obesity +##enary +intrusion +planner +##phate +reasoned +sequencing +307 +harrow +##chon +##dora +marred +mcintyre +repay +tarzan +darting +248 +harrisburg +margarita +repulsed +##hur +##lding +belinda +hamburger +novo +compliant +runways +bingham +registrar +skyscraper +ic +cuthbert +improvisation +livelihood +##corp +##elial +admiring +##dened +sporadic +believer +casablanca +popcorn +##29 +asha +shovel +##bek +##dice +coiled +tangible +##dez +casper +elsie +resin +tenderness +rectory +##ivision +avail +sonar +##mori +boutique +##dier +guerre +bathed +upbringing +vaulted +sandals +blessings +##naut +##utnant +1680 +306 +foxes +pia +corrosion +hesitantly +confederates +crystalline +footprints +shapiro +tirana +valentin +drones +45th +microscope +shipments +texted +inquisition +wry +guernsey +unauthorized +resigning +760 +ripple +schubert +stu +reassure +felony +##ardo +brittle +koreans +##havan +##ives +dun +implicit +tyres +##aldi +##lth +magnolia +##ehan +##puri +##poulos +aggressively +fei +gr +familiarity +##poo +indicative +##trust +fundamentally +jimmie +overrun +395 +anchors +moans +##opus +britannia +armagh +##ggle +purposely +seizing +##vao +bewildered +mundane +avoidance +cosmopolitan +geometridae +quartermaster +caf +415 +chatter +engulfed +gleam +purge +##icate +juliette +jurisprudence +guerra +revisions +##bn +casimir +brew +##jm +1749 +clapton +cloudy +conde +hermitage +278 +simulations +torches +vincenzo +matteo +##rill +hidalgo +booming +westbound +accomplishment +tentacles +unaffected +##sius +annabelle +flopped +sloping +##litz +dreamer +interceptor +vu +##loh +consecration +copying +messaging +breaker +climates +hospitalized +1752 +torino +afternoons +winfield +witnessing +##teacher +breakers +choirs +sawmill +coldly +##ege +sipping +haste +uninhabited +conical +bibliography +pamphlets +severn +edict +##oca +deux +illnesses +grips +##pl +rehearsals +sis +thinkers +tame +##keepers +1690 +acacia +reformer +##osed +##rys +shuffling +##iring +##shima +eastbound +ionic +rhea +flees +littered +##oum +rocker +vomiting +groaning +champ +overwhelmingly +civilizations +paces +sloop +adoptive +##tish +skaters +##vres +aiding +mango +##joy +nikola +shriek +##ignon +pharmaceuticals +##mg +tuna +calvert +gustavo +stocked +yearbook +##urai +##mana +computed +subsp +riff +hanoi +kelvin +hamid +moors +pastures +summons +jihad +nectar +##ctors +bayou +untitled +pleasing +vastly +republics +intellect +##η +##ulio +##tou +crumbling +stylistic +sb +##ی +consolation +frequented +h₂o +walden +widows +##iens +404 +##ignment +chunks +improves +288 +grit +recited +##dev +snarl +sociological +##arte +##gul +inquired +##held +bruise +clube +consultancy +homogeneous +hornets +multiplication +pasta +prick +savior +##grin +##kou +##phile +yoon +##gara +grimes +vanishing +cheering +reacting +bn +distillery +##quisite +##vity +coe +dockyard +massif +##jord +escorts +voss +##valent +byte +chopped +hawke +illusions +workings +floats +##koto +##vac +kv +annapolis +madden +##onus +alvaro +noctuidae +##cum +##scopic +avenge +steamboat +forte +illustrates +erika +##trip +570 +dew +nationalities +bran +manifested +thirsty +diversified +muscled +reborn +##standing +arson +##lessness +##dran +##logram +##boys +##kushima +##vious +willoughby +##phobia +286 +alsace +dashboard +yuki +##chai +granville +myspace +publicized +tricked +##gang +adjective +##ater +relic +reorganisation +enthusiastically +indications +saxe +##lassified +consolidate +iec +padua +helplessly +ramps +renaming +regulars +pedestrians +accents +convicts +inaccurate +lowers +mana +##pati +barrie +bjp +outta +someplace +berwick +flanking +invoked +marrow +sparsely +excerpts +clothed +rei +##ginal +wept +##straße +##vish +alexa +excel +##ptive +membranes +aquitaine +creeks +cutler +sheppard +implementations +ns +##dur +fragrance +budge +concordia +magnesium +marcelo +##antes +gladly +vibrating +##rral +##ggles +montrose +##omba +lew +seamus +1630 +cocky +##ament +##uen +bjorn +##rrick +fielder +fluttering +##lase +methyl +kimberley +mcdowell +reductions +barbed +##jic +##tonic +aeronautical +condensed +distracting +##promising +huffed +##cala +##sle +claudius +invincible +missy +pious +balthazar +ci +##lang +butte +combo +orson +##dication +myriad +1707 +silenced +##fed +##rh +coco +netball +yourselves +##oza +clarify +heller +peg +durban +etudes +offender +roast +blackmail +curvature +##woods +vile +309 +illicit +suriname +##linson +overture +1685 +bubbling +gymnast +tucking +##mming +##ouin +maldives +##bala +gurney +##dda +##eased +##oides +backside +pinto +jars +racehorse +tending +##rdial +baronetcy +wiener +duly +##rke +barbarian +cupping +flawed +##thesis +bertha +pleistocene +puddle +swearing +##nob +##tically +fleeting +prostate +amulet +educating +##mined +##iti +##tler +75th +jens +respondents +analytics +cavaliers +papacy +raju +##iente +##ulum +##tip +funnel +271 +disneyland +##lley +sociologist +##iam +2500 +faulkner +louvre +menon +##dson +276 +##ower +afterlife +mannheim +peptide +referees +comedians +meaningless +##anger +##laise +fabrics +hurley +renal +sleeps +##bour +##icle +breakout +kristin +roadside +animator +clover +disdain +unsafe +redesign +##urity +firth +barnsley +portage +reset +narrows +268 +commandos +expansive +speechless +tubular +##lux +essendon +eyelashes +smashwords +##yad +##bang +##claim +craved +sprinted +chet +somme +astor +wrocław +orton +266 +bane +##erving +##uing +mischief +##amps +##sund +scaling +terre +##xious +impairment +offenses +undermine +moi +soy +contiguous +arcadia +inuit +seam +##tops +macbeth +rebelled +##icative +##iot +590 +elaborated +frs +uniformed +##dberg +259 +powerless +priscilla +stimulated +980 +qc +arboretum +frustrating +trieste +bullock +##nified +enriched +glistening +intern +##adia +locus +nouvelle +ollie +ike +lash +starboard +ee +tapestry +headlined +hove +rigged +##vite +pollock +##yme +thrive +clustered +cas +roi +gleamed +olympiad +##lino +pressured +regimes +##hosis +##lick +ripley +##ophone +kickoff +gallon +rockwell +##arable +crusader +glue +revolutions +scrambling +1714 +grover +##jure +englishman +aztec +263 +contemplating +coven +ipad +preach +triumphant +tufts +##esian +rotational +##phus +328 +falkland +##brates +strewn +clarissa +rejoin +environmentally +glint +banded +drenched +moat +albanians +johor +rr +maestro +malley +nouveau +shaded +taxonomy +v6 +adhere +bunk +airfields +##ritan +1741 +encompass +remington +tran +##erative +amelie +mazda +friar +morals +passions +##zai +breadth +vis +##hae +argus +burnham +caressing +insider +rudd +##imov +##mini +##rso +italianate +murderous +textual +wainwright +armada +bam +weave +timer +##taken +##nh +fra +##crest +ardent +salazar +taps +tunis +##ntino +allegro +gland +philanthropic +##chester +implication +##optera +esq +judas +noticeably +wynn +##dara +inched +indexed +crises +villiers +bandit +royalties +patterned +cupboard +interspersed +accessory +isla +kendrick +entourage +stitches +##esthesia +headwaters +##ior +interlude +distraught +draught +1727 +##basket +biased +sy +transient +triad +subgenus +adapting +kidd +shortstop +##umatic +dimly +spiked +mcleod +reprint +nellie +pretoria +windmill +##cek +singled +##mps +273 +reunite +##orous +747 +bankers +outlying +##omp +##ports +##tream +apologies +cosmetics +patsy +##deh +##ocks +##yson +bender +nantes +serene +##nad +lucha +mmm +323 +##cius +##gli +cmll +coinage +nestor +juarez +##rook +smeared +sprayed +twitching +sterile +irina +embodied +juveniles +enveloped +miscellaneous +cancers +dq +gulped +luisa +crested +swat +donegal +ref +##anov +##acker +hearst +mercantile +##lika +doorbell +ua +vicki +##alla +##som +bilbao +psychologists +stryker +sw +horsemen +turkmenistan +wits +##national +anson +mathew +screenings +##umb +rihanna +##agne +##nessy +aisles +##iani +##osphere +hines +kenton +saskatoon +tasha +truncated +##champ +##itan +mildred +advises +fredrik +interpreting +inhibitors +##athi +spectroscopy +##hab +##kong +karim +panda +##oia +##nail +##vc +conqueror +kgb +leukemia +##dity +arrivals +cheered +pisa +phosphorus +shielded +##riated +mammal +unitarian +urgently +chopin +sanitary +##mission +spicy +drugged +hinges +##tort +tipping +trier +impoverished +westchester +##caster +267 +epoch +nonstop +##gman +##khov +aromatic +centrally +cerro +##tively +##vio +billions +modulation +sedimentary +283 +facilitating +outrageous +goldstein +##eak +##kt +ld +maitland +penultimate +pollard +##dance +fleets +spaceship +vertebrae +##nig +alcoholism +als +recital +##bham +##ference +##omics +m2 +##bm +trois +##tropical +##в +commemorates +##meric +marge +##raction +1643 +670 +cosmetic +ravaged +##ige +catastrophe +eng +##shida +albrecht +arterial +bellamy +decor +harmon +##rde +bulbs +synchronized +vito +easiest +shetland +shielding +wnba +##glers +##ssar +##riam +brianna +cumbria +##aceous +##rard +cores +thayer +##nsk +brood +hilltop +luminous +carts +keynote +larkin +logos +##cta +##ا +##mund +##quay +lilith +tinted +277 +wrestle +mobilization +##uses +sequential +siam +bloomfield +takahashi +274 +##ieving +presenters +ringo +blazed +witty +##oven +##ignant +devastation +haydn +harmed +newt +therese +##peed +gershwin +molina +rabbis +sudanese +001 +innate +restarted +##sack +##fus +slices +wb +##shah +enroll +hypothetical +hysterical +1743 +fabio +indefinite +warped +##hg +exchanging +525 +unsuitable +##sboro +gallo +1603 +bret +cobalt +homemade +##hunter +mx +operatives +##dhar +terraces +durable +latch +pens +whorls +##ctuated +##eaux +billing +ligament +succumbed +##gly +regulators +spawn +##brick +##stead +filmfare +rochelle +##nzo +1725 +circumstance +saber +supplements +##nsky +##tson +crowe +wellesley +carrot +##9th +##movable +primate +drury +sincerely +topical +##mad +##rao +callahan +kyiv +smarter +tits +undo +##yeh +announcements +anthologies +barrio +nebula +##islaus +##shaft +##tyn +bodyguards +2021 +assassinate +barns +emmett +scully +##mah +##yd +##eland +##tino +##itarian +demoted +gorman +lashed +prized +adventist +writ +##gui +alla +invertebrates +##ausen +1641 +amman +1742 +align +healy +redistribution +##gf +##rize +insulation +##drop +adherents +hezbollah +vitro +ferns +yanking +269 +php +registering +uppsala +cheerleading +confines +mischievous +tully +##ross +49th +docked +roam +stipulated +pumpkin +##bry +prompt +##ezer +blindly +shuddering +craftsmen +frail +scented +katharine +scramble +shaggy +sponge +helix +zaragoza +279 +##52 +43rd +backlash +fontaine +seizures +posse +cowan +nonfiction +telenovela +wwii +hammered +undone +##gpur +encircled +irs +##ivation +artefacts +oneself +searing +smallpox +##belle +##osaurus +shandong +breached +upland +blushing +rankin +infinitely +psyche +tolerated +docking +evicted +##col +unmarked +##lving +gnome +lettering +litres +musique +##oint +benevolent +##jal +blackened +##anna +mccall +racers +tingle +##ocene +##orestation +introductions +radically +292 +##hiff +##باد +1610 +1739 +munchen +plead +##nka +condo +scissors +##sight +##tens +apprehension +##cey +##yin +hallmark +watering +formulas +sequels +##llas +aggravated +bae +commencing +##building +enfield +prohibits +marne +vedic +civilized +euclidean +jagger +beforehand +blasts +dumont +##arney +##nem +740 +conversions +hierarchical +rios +simulator +##dya +##lellan +hedges +oleg +thrusts +shadowed +darby +maximize +1744 +gregorian +##nded +##routed +sham +unspecified +##hog +emory +factual +##smo +##tp +fooled +##rger +ortega +wellness +marlon +##oton +##urance +casket +keating +ley +enclave +##ayan +char +influencing +jia +##chenko +412 +ammonia +erebidae +incompatible +violins +cornered +##arat +grooves +astronauts +columbian +rampant +fabrication +kyushu +mahmud +vanish +##dern +mesopotamia +##lete +ict +##rgen +caspian +kenji +pitted +##vered +999 +grimace +roanoke +tchaikovsky +twinned +##analysis +##awan +xinjiang +arias +clemson +kazakh +sizable +1662 +##khand +##vard +plunge +tatum +vittorio +##nden +cholera +##dana +##oper +bracing +indifference +projectile +superliga +##chee +realises +upgrading +299 +porte +retribution +##vies +nk +stil +##resses +ama +bureaucracy +blackberry +bosch +testosterone +collapses +greer +##pathic +ioc +fifties +malls +##erved +bao +baskets +adolescents +siegfried +##osity +##tosis +mantra +detecting +existent +fledgling +##cchi +dissatisfied +gan +telecommunication +mingled +sobbed +6000 +controversies +outdated +taxis +##raus +fright +slams +##lham +##fect +##tten +detectors +fetal +tanned +##uw +fray +goth +olympian +skipping +mandates +scratches +sheng +unspoken +hyundai +tracey +hotspur +restrictive +##buch +americana +mundo +##bari +burroughs +diva +vulcan +##6th +distinctions +thumping +##ngen +mikey +sheds +fide +rescues +springsteen +vested +valuation +##ece +##ely +pinnacle +rake +sylvie +##edo +almond +quivering +##irus +alteration +faltered +##wad +51st +hydra +ticked +##kato +recommends +##dicated +antigua +arjun +stagecoach +wilfred +trickle +pronouns +##pon +aryan +nighttime +##anian +gall +pea +stitch +##hei +leung +milos +##dini +eritrea +nexus +starved +snowfall +kant +parasitic +cot +discus +hana +strikers +appleton +kitchens +##erina +##partisan +##itha +##vius +disclose +metis +##channel +1701 +tesla +##vera +fitch +1735 +blooded +##tila +decimal +##tang +##bai +cyclones +eun +bottled +peas +pensacola +basha +bolivian +crabs +boil +lanterns +partridge +roofed +1645 +necks +##phila +opined +patting +##kla +##lland +chuckles +volta +whereupon +##nche +devout +euroleague +suicidal +##dee +inherently +involuntary +knitting +nasser +##hide +puppets +colourful +courageous +southend +stills +miraculous +hodgson +richer +rochdale +ethernet +greta +uniting +prism +umm +##haya +##itical +##utation +deterioration +pointe +prowess +##ropriation +lids +scranton +billings +subcontinent +##koff +##scope +brute +kellogg +psalms +degraded +##vez +stanisław +##ructured +ferreira +pun +astonishing +gunnar +##yat +arya +prc +gottfried +##tight +excursion +##ographer +dina +##quil +##nare +huffington +illustrious +wilbur +gundam +verandah +##zard +naacp +##odle +constructive +fjord +kade +##naud +generosity +thrilling +baseline +cayman +frankish +plastics +accommodations +zoological +##fting +cedric +qb +motorized +##dome +##otted +squealed +tackled +canucks +budgets +situ +asthma +dail +gabled +grasslands +whimpered +writhing +judgments +##65 +minnie +pv +##carbon +bananas +grille +domes +monique +odin +maguire +markham +tierney +##estra +##chua +libel +poke +speedy +atrium +laval +notwithstanding +##edly +fai +kala +##sur +robb +##sma +listings +luz +supplementary +tianjin +##acing +enzo +jd +ric +scanner +croats +transcribed +##49 +arden +cv +##hair +##raphy +##lver +##uy +357 +seventies +staggering +alam +horticultural +hs +regression +timbers +blasting +##ounded +montagu +manipulating +##cit +catalytic +1550 +troopers +##meo +condemnation +fitzpatrick +##oire +##roved +inexperienced +1670 +castes +##lative +outing +314 +dubois +flicking +quarrel +ste +learners +1625 +iq +whistled +##class +282 +classify +tariffs +temperament +355 +folly +liszt +##yles +immersed +jordanian +ceasefire +apparel +extras +maru +fished +##bio +harta +stockport +assortment +craftsman +paralysis +transmitters +##cola +blindness +##wk +fatally +proficiency +solemnly +##orno +repairing +amore +groceries +ultraviolet +##chase +schoolhouse +##tua +resurgence +nailed +##otype +##× +ruse +saliva +diagrams +##tructing +albans +rann +thirties +1b +antennas +hilarious +cougars +paddington +stats +##eger +breakaway +ipod +reza +authorship +prohibiting +scoffed +##etz +##ttle +conscription +defected +trondheim +##fires +ivanov +keenan +##adan +##ciful +##fb +##slow +locating +##ials +##tford +cadiz +basalt +blankly +interned +rags +rattling +##tick +carpathian +reassured +sync +bum +guildford +iss +staunch +##onga +astronomers +sera +sofie +emergencies +susquehanna +##heard +duc +mastery +vh1 +williamsburg +bayer +buckled +craving +##khan +##rdes +bloomington +##write +alton +barbecue +##bians +justine +##hri +##ndt +delightful +smartphone +newtown +photon +retrieval +peugeot +hissing +##monium +##orough +flavors +lighted +relaunched +tainted +##games +##lysis +anarchy +microscopic +hopping +adept +evade +evie +##beau +inhibit +sinn +adjustable +hurst +intuition +wilton +cisco +44th +lawful +lowlands +stockings +thierry +##dalen +##hila +##nai +fates +prank +tb +maison +lobbied +provocative +1724 +4a +utopia +##qual +carbonate +gujarati +purcell +##rford +curtiss +##mei +overgrown +arenas +mediation +swallows +##rnik +respectful +turnbull +##hedron +##hope +alyssa +ozone +##ʻi +ami +gestapo +johansson +snooker +canteen +cuff +declines +empathy +stigma +##ags +##iner +##raine +taxpayers +gui +volga +##wright +##copic +lifespan +overcame +tattooed +enactment +giggles +##ador +##camp +barrington +bribe +obligatory +orbiting +peng +##enas +elusive +sucker +##vating +cong +hardship +empowered +anticipating +estrada +cryptic +greasy +detainees +planck +sudbury +plaid +dod +marriott +kayla +##ears +##vb +##zd +mortally +##hein +cognition +radha +319 +liechtenstein +meade +richly +argyle +harpsichord +liberalism +trumpets +lauded +tyrant +salsa +tiled +lear +promoters +reused +slicing +trident +##chuk +##gami +##lka +cantor +checkpoint +##points +gaul +leger +mammalian +##tov +##aar +##schaft +doha +frenchman +nirvana +##vino +delgado +headlining +##eron +##iography +jug +tko +1649 +naga +intersections +##jia +benfica +nawab +##suka +ashford +gulp +##deck +##vill +##rug +brentford +frazier +pleasures +dunne +potsdam +shenzhen +dentistry +##tec +flanagan +##dorff +##hear +chorale +dinah +prem +quezon +##rogated +relinquished +sutra +terri +##pani +flaps +##rissa +poly +##rnet +homme +aback +##eki +linger +womb +##kson +##lewood +doorstep +orthodoxy +threaded +westfield +##rval +dioceses +fridays +subsided +##gata +loyalists +##biotic +##ettes +letterman +lunatic +prelate +tenderly +invariably +souza +thug +winslow +##otide +furlongs +gogh +jeopardy +##runa +pegasus +##umble +humiliated +standalone +tagged +##roller +freshmen +klan +##bright +attaining +initiating +transatlantic +logged +viz +##uance +1723 +combatants +intervening +stephane +chieftain +despised +grazed +317 +cdc +galveston +godzilla +macro +simulate +##planes +parades +##esses +960 +##ductive +##unes +equator +overdose +##cans +##hosh +##lifting +joshi +epstein +sonora +treacherous +aquatics +manchu +responsive +##sation +supervisory +##christ +##llins +##ibar +##balance +##uso +kimball +karlsruhe +mab +##emy +ignores +phonetic +reuters +spaghetti +820 +almighty +danzig +rumbling +tombstone +designations +lured +outset +##felt +supermarkets +##wt +grupo +kei +kraft +susanna +##blood +comprehension +genealogy +##aghan +##verted +redding +##ythe +1722 +bowing +##pore +##roi +lest +sharpened +fulbright +valkyrie +sikhs +##unds +swans +bouquet +merritt +##tage +##venting +commuted +redhead +clerks +leasing +cesare +dea +hazy +##vances +fledged +greenfield +servicemen +##gical +armando +blackout +dt +sagged +downloadable +intra +potion +pods +##4th +##mism +xp +attendants +gambia +stale +##ntine +plump +asteroids +rediscovered +buds +flea +hive +##neas +1737 +classifications +debuts +##eles +olympus +scala +##eurs +##gno +##mute +hummed +sigismund +visuals +wiggled +await +pilasters +clench +sulfate +##ances +bellevue +enigma +trainee +snort +##sw +clouded +denim +##rank +##rder +churning +hartman +lodges +riches +sima +##missible +accountable +socrates +regulates +mueller +##cr +1702 +avoids +solids +himalayas +nutrient +pup +##jevic +squat +fades +nec +##lates +##pina +##rona +##ου +privateer +tequila +##gative +##mpton +apt +hornet +immortals +##dou +asturias +cleansing +dario +##rries +##anta +etymology +servicing +zhejiang +##venor +##nx +horned +erasmus +rayon +relocating +£10 +##bags +escalated +promenade +stubble +2010s +artisans +axial +liquids +mora +sho +yoo +##tsky +bundles +oldies +##nally +notification +bastion +##ths +sparkle +##lved +1728 +leash +pathogen +highs +##hmi +immature +880 +gonzaga +ignatius +mansions +monterrey +sweets +bryson +##loe +polled +regatta +brightest +pei +rosy +squid +hatfield +payroll +addict +meath +cornerback +heaviest +lodging +##mage +capcom +rippled +##sily +barnet +mayhem +ymca +snuggled +rousseau +##cute +blanchard +284 +fragmented +leighton +chromosomes +risking +##md +##strel +##utter +corinne +coyotes +cynical +hiroshi +yeomanry +##ractive +ebook +grading +mandela +plume +agustin +magdalene +##rkin +bea +femme +trafford +##coll +##lun +##tance +52nd +fourier +upton +##mental +camilla +gust +iihf +islamabad +longevity +##kala +feldman +netting +##rization +endeavour +foraging +mfa +orr +##open +greyish +contradiction +graz +##ruff +handicapped +marlene +tweed +oaxaca +spp +campos +miocene +pri +configured +cooks +pluto +cozy +pornographic +##entes +70th +fairness +glided +jonny +lynne +rounding +sired +##emon +##nist +remade +uncover +##mack +complied +lei +newsweek +##jured +##parts +##enting +##pg +293 +finer +guerrillas +athenian +deng +disused +stepmother +accuse +gingerly +seduction +521 +confronting +##walker +##going +gora +nostalgia +sabres +virginity +wrenched +##minated +syndication +wielding +eyre +##56 +##gnon +##igny +behaved +taxpayer +sweeps +##growth +childless +gallant +##ywood +amplified +geraldine +scrape +##ffi +babylonian +fresco +##rdan +##kney +##position +1718 +restricting +tack +fukuoka +osborn +selector +partnering +##dlow +318 +gnu +kia +tak +whitley +gables +##54 +##mania +mri +softness +immersion +##bots +##evsky +1713 +chilling +insignificant +pcs +##uis +elites +lina +purported +supplemental +teaming +##americana +##dding +##inton +proficient +rouen +##nage +##rret +niccolo +selects +##bread +fluffy +1621 +gruff +knotted +mukherjee +polgara +thrash +nicholls +secluded +smoothing +thru +corsica +loaf +whitaker +inquiries +##rrier +##kam +indochina +289 +marlins +myles +peking +##tea +extracts +pastry +superhuman +connacht +vogel +##ditional +##het +##udged +##lash +gloss +quarries +refit +teaser +##alic +##gaon +20s +materialized +sling +camped +pickering +tung +tracker +pursuant +##cide +cranes +soc +##cini +##typical +##viere +anhalt +overboard +workout +chores +fares +orphaned +stains +##logie +fenton +surpassing +joyah +triggers +##itte +grandmaster +##lass +##lists +clapping +fraudulent +ledger +nagasaki +##cor +##nosis +##tsa +eucalyptus +tun +##icio +##rney +##tara +dax +heroism +ina +wrexham +onboard +unsigned +##dates +moshe +galley +winnie +droplets +exiles +praises +watered +noodles +##aia +fein +adi +leland +multicultural +stink +bingo +comets +erskine +modernized +canned +constraint +domestically +chemotherapy +featherweight +stifled +##mum +darkly +irresistible +refreshing +hasty +isolate +##oys +kitchener +planners +##wehr +cages +yarn +implant +toulon +elects +childbirth +yue +##lind +##lone +cn +rightful +sportsman +junctions +remodeled +specifies +##rgh +291 +##oons +complimented +##urgent +lister +ot +##logic +bequeathed +cheekbones +fontana +gabby +##dial +amadeus +corrugated +maverick +resented +triangles +##hered +##usly +nazareth +tyrol +1675 +assent +poorer +sectional +aegean +##cous +296 +nylon +ghanaian +##egorical +##weig +cushions +forbid +fusiliers +obstruction +somerville +##scia +dime +earrings +elliptical +leyte +oder +polymers +timmy +atm +midtown +piloted +settles +continual +externally +mayfield +##uh +enrichment +henson +keane +persians +1733 +benji +braden +pep +324 +##efe +contenders +pepsi +valet +##isches +298 +##asse +##earing +goofy +stroll +##amen +authoritarian +occurrences +adversary +ahmedabad +tangent +toppled +dorchester +1672 +modernism +marxism +islamist +charlemagne +exponential +racks +unicode +brunette +mbc +pic +skirmish +##bund +##lad +##powered +##yst +hoisted +messina +shatter +##ctum +jedi +vantage +##music +##neil +clemens +mahmoud +corrupted +authentication +lowry +nils +##washed +omnibus +wounding +jillian +##itors +##opped +serialized +narcotics +handheld +##arm +##plicity +intersecting +stimulating +##onis +crate +fellowships +hemingway +casinos +climatic +fordham +copeland +drip +beatty +leaflets +robber +brothel +madeira +##hedral +sphinx +ultrasound +##vana +valor +forbade +leonid +villas +##aldo +duane +marquez +##cytes +disadvantaged +forearms +kawasaki +reacts +consular +lax +uncles +uphold +##hopper +concepcion +dorsey +lass +##izan +arching +passageway +1708 +researches +tia +internationals +##graphs +##opers +distinguishes +javanese +divert +##uven +plotted +##listic +##rwin +##erik +##tify +affirmative +signifies +validation +##bson +kari +felicity +georgina +zulu +##eros +##rained +##rath +overcoming +##dot +argyll +##rbin +1734 +chiba +ratification +windy +earls +parapet +##marks +hunan +pristine +astrid +punta +##gart +brodie +##kota +##oder +malaga +minerva +rouse +##phonic +bellowed +pagoda +portals +reclamation +##gur +##odies +##⁄₄ +parentheses +quoting +allergic +palette +showcases +benefactor +heartland +nonlinear +##tness +bladed +cheerfully +scans +##ety +##hone +1666 +girlfriends +pedersen +hiram +sous +##liche +##nator +1683 +##nery +##orio +##umen +bobo +primaries +smiley +##cb +unearthed +uniformly +fis +metadata +1635 +ind +##oted +recoil +##titles +##tura +##ια +406 +hilbert +jamestown +mcmillan +tulane +seychelles +##frid +antics +coli +fated +stucco +##grants +1654 +bulky +accolades +arrays +caledonian +carnage +optimism +puebla +##tative +##cave +enforcing +rotherham +seo +dunlop +aeronautics +chimed +incline +zoning +archduke +hellenistic +##oses +##sions +candi +thong +##ople +magnate +rustic +##rsk +projective +slant +##offs +danes +hollis +vocalists +##ammed +congenital +contend +gesellschaft +##ocating +##pressive +douglass +quieter +##cm +##kshi +howled +salim +spontaneously +townsville +buena +southport +##bold +kato +1638 +faerie +stiffly +##vus +##rled +297 +flawless +realising +taboo +##7th +bytes +straightening +356 +jena +##hid +##rmin +cartwright +berber +bertram +soloists +411 +noses +417 +coping +fission +hardin +inca +##cen +1717 +mobilized +vhf +##raf +biscuits +curate +##85 +##anial +331 +gaunt +neighbourhoods +1540 +##abas +blanca +bypassed +sockets +behold +coincidentally +##bane +nara +shave +splinter +terrific +##arion +##erian +commonplace +juris +redwood +waistband +boxed +caitlin +fingerprints +jennie +naturalized +##ired +balfour +craters +jody +bungalow +hugely +quilt +glitter +pigeons +undertaker +bulging +constrained +goo +##sil +##akh +assimilation +reworked +##person +persuasion +##pants +felicia +##cliff +##ulent +1732 +explodes +##dun +##inium +##zic +lyman +vulture +hog +overlook +begs +northwards +ow +spoil +##urer +fatima +favorably +accumulate +sargent +sorority +corresponded +dispersal +kochi +toned +##imi +##lita +internacional +newfound +##agger +##lynn +##rigue +booths +peanuts +##eborg +medicare +muriel +nur +##uram +crates +millennia +pajamas +worsened +##breakers +jimi +vanuatu +yawned +##udeau +carousel +##hony +hurdle +##ccus +##mounted +##pod +rv +##eche +airship +ambiguity +compulsion +recapture +##claiming +arthritis +##osomal +1667 +asserting +ngc +sniffing +dade +discontent +glendale +ported +##amina +defamation +rammed +##scent +fling +livingstone +##fleet +875 +##ppy +apocalyptic +comrade +lcd +##lowe +cessna +eine +persecuted +subsistence +demi +hoop +reliefs +710 +coptic +progressing +stemmed +perpetrators +1665 +priestess +##nio +dobson +ebony +rooster +itf +tortricidae +##bbon +##jian +cleanup +##jean +##øy +1721 +eighties +taxonomic +holiness +##hearted +##spar +antilles +showcasing +stabilized +##nb +gia +mascara +michelangelo +dawned +##uria +##vinsky +extinguished +fitz +grotesque +£100 +##fera +##loid +##mous +barges +neue +throbbed +cipher +johnnie +##a1 +##mpt +outburst +##swick +spearheaded +administrations +c1 +heartbreak +pixels +pleasantly +##enay +lombardy +plush +##nsed +bobbie +##hly +reapers +tremor +xiang +minogue +substantive +hitch +barak +##wyl +kwan +##encia +910 +obscene +elegance +indus +surfer +bribery +conserve +##hyllum +##masters +horatio +##fat +apes +rebound +psychotic +##pour +iteration +##mium +##vani +botanic +horribly +antiques +dispose +paxton +##hli +##wg +timeless +1704 +disregard +engraver +hounds +##bau +##version +looted +uno +facilitates +groans +masjid +rutland +antibody +disqualification +decatur +footballers +quake +slacks +48th +rein +scribe +stabilize +commits +exemplary +tho +##hort +##chison +pantry +traversed +##hiti +disrepair +identifiable +vibrated +baccalaureate +##nnis +csa +interviewing +##iensis +##raße +greaves +wealthiest +343 +classed +jogged +£5 +##58 +##atal +illuminating +knicks +respecting +##uno +scrubbed +##iji +##dles +kruger +moods +growls +raider +silvia +chefs +kam +vr +cree +percival +##terol +gunter +counterattack +defiant +henan +ze +##rasia +##riety +equivalence +submissions +##fra +##thor +bautista +mechanically +##heater +cornice +herbal +templar +##mering +outputs +ruining +ligand +renumbered +extravagant +mika +blockbuster +eta +insurrection +##ilia +darkening +ferocious +pianos +strife +kinship +##aer +melee +##anor +##iste +##may +##oue +decidedly +weep +##jad +##missive +##ppel +354 +puget +unease +##gnant +1629 +hammering +kassel +ob +wessex +##lga +bromwich +egan +paranoia +utilization +##atable +##idad +contradictory +provoke +##ols +##ouring +##tangled +knesset +##very +##lette +plumbing +##sden +##¹ +greensboro +occult +sniff +338 +zev +beaming +gamer +haggard +mahal +##olt +##pins +mendes +utmost +briefing +gunnery +##gut +##pher +##zh +##rok +1679 +khalifa +sonya +##boot +principals +urbana +wiring +##liffe +##minating +##rrado +dahl +nyu +skepticism +np +townspeople +ithaca +lobster +somethin +##fur +##arina +##−1 +freighter +zimmerman +biceps +contractual +##herton +amend +hurrying +subconscious +##anal +336 +meng +clermont +spawning +##eia +##lub +dignitaries +impetus +snacks +spotting +twigs +##bilis +##cz +##ouk +libertadores +nic +skylar +##aina +##firm +gustave +asean +##anum +dieter +legislatures +flirt +bromley +trolls +umar +##bbies +##tyle +blah +parc +bridgeport +crank +negligence +##nction +46th +constantin +molded +bandages +seriousness +00pm +siegel +carpets +compartments +upbeat +statehood +##dner +##edging +marko +730 +platt +##hane +paving +##iy +1738 +abbess +impatience +limousine +nbl +##talk +441 +lucille +mojo +nightfall +robbers +##nais +karel +brisk +calves +replicate +ascribed +telescopes +##olf +intimidated +##reen +ballast +specialization +##sit +aerodynamic +caliphate +rainer +visionary +##arded +epsilon +##aday +##onte +aggregation +auditory +boosted +reunification +kathmandu +loco +robyn +402 +acknowledges +appointing +humanoid +newell +redeveloped +restraints +##tained +barbarians +chopper +1609 +italiana +##lez +##lho +investigates +wrestlemania +##anies +##bib +690 +##falls +creaked +dragoons +gravely +minions +stupidity +volley +##harat +##week +musik +##eries +##uously +fungal +massimo +semantics +malvern +##ahl +##pee +discourage +embryo +imperialism +1910s +profoundly +##ddled +jiangsu +sparkled +stat +##holz +sweatshirt +tobin +##iction +sneered +##cheon +##oit +brit +causal +smyth +##neuve +diffuse +perrin +silvio +##ipes +##recht +detonated +iqbal +selma +##nism +##zumi +roasted +##riders +tay +##ados +##mament +##mut +##rud +840 +completes +nipples +cfa +flavour +hirsch +##laus +calderon +sneakers +moravian +##ksha +1622 +rq +294 +##imeters +bodo +##isance +##pre +##ronia +anatomical +excerpt +##lke +dh +kunst +##tablished +##scoe +biomass +panted +unharmed +gael +housemates +montpellier +##59 +coa +rodents +tonic +hickory +singleton +##taro +451 +1719 +aldo +breaststroke +dempsey +och +rocco +##cuit +merton +dissemination +midsummer +serials +##idi +haji +polynomials +##rdon +gs +enoch +prematurely +shutter +taunton +£3 +##grating +##inates +archangel +harassed +##asco +326 +archway +dazzling +##ecin +1736 +sumo +wat +##kovich +1086 +honneur +##ently +##nostic +##ttal +##idon +1605 +403 +1716 +blogger +rents +##gnan +hires +##ikh +##dant +howie +##rons +handler +retracted +shocks +1632 +arun +duluth +kepler +trumpeter +##lary +peeking +seasoned +trooper +##mara +laszlo +##iciencies +##rti +heterosexual +##inatory +##ssion +indira +jogging +##inga +##lism +beit +dissatisfaction +malice +##ately +nedra +peeling +##rgeon +47th +stadiums +475 +vertigo +##ains +iced +restroom +##plify +##tub +illustrating +pear +##chner +##sibility +inorganic +rappers +receipts +watery +##kura +lucinda +##oulos +reintroduced +##8th +##tched +gracefully +saxons +nutritional +wastewater +rained +favourites +bedrock +fisted +hallways +likeness +upscale +##lateral +1580 +blinds +prequel +##pps +##tama +deter +humiliating +restraining +tn +vents +1659 +laundering +recess +rosary +tractors +coulter +federer +##ifiers +##plin +persistence +##quitable +geschichte +pendulum +quakers +##beam +bassett +pictorial +buffet +koln +##sitor +drills +reciprocal +shooters +##57 +##cton +##tees +converge +pip +dmitri +donnelly +yamamoto +aqua +azores +demographics +hypnotic +spitfire +suspend +wryly +roderick +##rran +sebastien +##asurable +mavericks +##fles +##200 +himalayan +prodigy +##iance +transvaal +demonstrators +handcuffs +dodged +mcnamara +sublime +1726 +crazed +##efined +##till +ivo +pondered +reconciled +shrill +sava +##duk +bal +cad +heresy +jaipur +goran +##nished +341 +lux +shelly +whitehall +##hre +israelis +peacekeeping +##wled +1703 +demetrius +ousted +##arians +##zos +beale +anwar +backstroke +raged +shrinking +cremated +##yck +benign +towing +wadi +darmstadt +landfill +parana +soothe +colleen +sidewalks +mayfair +tumble +hepatitis +ferrer +superstructure +##gingly +##urse +##wee +anthropological +translators +##mies +closeness +hooves +##pw +mondays +##roll +##vita +landscaping +##urized +purification +sock +thorns +thwarted +jalan +tiberius +##taka +saline +##rito +confidently +khyber +sculptors +##ij +brahms +hammersmith +inspectors +battista +fivb +fragmentation +hackney +##uls +arresting +exercising +antoinette +bedfordshire +##zily +dyed +##hema +1656 +racetrack +variability +##tique +1655 +austrians +deteriorating +madman +theorists +aix +lehman +weathered +1731 +decreed +eruptions +1729 +flaw +quinlan +sorbonne +flutes +nunez +1711 +adored +downwards +fable +rasped +1712 +moritz +mouthful +renegade +shivers +stunts +dysfunction +restrain +translit +327 +pancakes +##avio +##cision +##tray +351 +vial +##lden +bain +##maid +##oxide +chihuahua +malacca +vimes +##rba +##rnier +1664 +donnie +plaques +##ually +337 +bangs +floppy +huntsville +loretta +nikolay +##otte +eater +handgun +ubiquitous +##hett +eras +zodiac +1634 +##omorphic +1820s +##zog +cochran +##bula +##lithic +warring +##rada +dalai +excused +blazers +mcconnell +reeling +bot +este +##abi +geese +hoax +taxon +##bla +guitarists +##icon +condemning +hunts +inversion +moffat +taekwondo +##lvis +1624 +stammered +##rest +##rzy +sousa +fundraiser +marylebone +navigable +uptown +cabbage +daniela +salman +shitty +whimper +##kian +##utive +programmers +protections +rm +##rmi +##rued +forceful +##enes +fuss +##tao +##wash +brat +oppressive +reykjavik +spartak +ticking +##inkles +##kiewicz +adolph +horst +maui +protege +straighten +cpc +landau +concourse +clements +resultant +##ando +imaginative +joo +reactivated +##rem +##ffled +##uising +consultative +##guide +flop +kaitlyn +mergers +parenting +somber +##vron +supervise +vidhan +##imum +courtship +exemplified +harmonies +medallist +refining +##rrow +##ка +amara +##hum +780 +goalscorer +sited +overshadowed +rohan +displeasure +secretive +multiplied +osman +##orth +engravings +padre +##kali +##veda +miniatures +mis +##yala +clap +pali +rook +##cana +1692 +57th +antennae +astro +oskar +1628 +bulldog +crotch +hackett +yucatan +##sure +amplifiers +brno +ferrara +migrating +##gree +thanking +turing +##eza +mccann +ting +andersson +onslaught +gaines +ganga +incense +standardization +##mation +sentai +scuba +stuffing +turquoise +waivers +alloys +##vitt +regaining +vaults +##clops +##gizing +digger +furry +memorabilia +probing +##iad +payton +rec +deutschland +filippo +opaque +seamen +zenith +afrikaans +##filtration +disciplined +inspirational +##merie +banco +confuse +grafton +tod +##dgets +championed +simi +anomaly +biplane +##ceptive +electrode +##para +1697 +cleavage +crossbow +swirl +informant +##lars +##osta +afi +bonfire +spec +##oux +lakeside +slump +##culus +##lais +##qvist +##rrigan +1016 +facades +borg +inwardly +cervical +xl +pointedly +050 +stabilization +##odon +chests +1699 +hacked +ctv +orthogonal +suzy +##lastic +gaulle +jacobite +rearview +##cam +##erted +ashby +##drik +##igate +##mise +##zbek +affectionately +canine +disperse +latham +##istles +##ivar +spielberg +##orin +##idium +ezekiel +cid +##sg +durga +middletown +##cina +customized +frontiers +harden +##etano +##zzy +1604 +bolsheviks +##66 +coloration +yoko +##bedo +briefs +slabs +debra +liquidation +plumage +##oin +blossoms +dementia +subsidy +1611 +proctor +relational +jerseys +parochial +ter +##ici +esa +peshawar +cavalier +loren +cpi +idiots +shamrock +1646 +dutton +malabar +mustache +##endez +##ocytes +referencing +terminates +marche +yarmouth +##sop +acton +mated +seton +subtly +baptised +beige +extremes +jolted +kristina +telecast +##actic +safeguard +waldo +##baldi +##bular +endeavors +sloppy +subterranean +##ensburg +##itung +delicately +pigment +tq +##scu +1626 +##ound +collisions +coveted +herds +##personal +##meister +##nberger +chopra +##ricting +abnormalities +defective +galician +lucie +##dilly +alligator +likened +##genase +burundi +clears +complexion +derelict +deafening +diablo +fingered +champaign +dogg +enlist +isotope +labeling +mrna +##erre +brilliance +marvelous +##ayo +1652 +crawley +ether +footed +dwellers +deserts +hamish +rubs +warlock +skimmed +##lizer +870 +buick +embark +heraldic +irregularities +##ajan +kiara +##kulam +##ieg +antigen +kowalski +##lge +oakley +visitation +##mbit +vt +##suit +1570 +murderers +##miento +##rites +chimneys +##sling +condemn +custer +exchequer +havre +##ghi +fluctuations +##rations +dfb +hendricks +vaccines +##tarian +nietzsche +biking +juicy +##duced +brooding +scrolling +selangor +##ragan +352 +annum +boomed +seminole +sugarcane +##dna +departmental +dismissing +innsbruck +arteries +ashok +batavia +daze +kun +overtook +##rga +##tlan +beheaded +gaddafi +holm +electronically +faulty +galilee +fractures +kobayashi +##lized +gunmen +magma +aramaic +mala +eastenders +inference +messengers +bf +##qu +407 +bathrooms +##vere +1658 +flashbacks +ideally +misunderstood +##jali +##weather +mendez +##grounds +505 +uncanny +##iii +1709 +friendships +##nbc +sacrament +accommodated +reiterated +logistical +pebbles +thumped +##escence +administering +decrees +drafts +##flight +##cased +##tula +futuristic +picket +intimidation +winthrop +##fahan +interfered +339 +afar +francoise +morally +uta +cochin +croft +dwarfs +##bruck +##dents +##nami +biker +##hner +##meral +nano +##isen +##ometric +##pres +##ан +brightened +meek +parcels +securely +gunners +##jhl +##zko +agile +hysteria +##lten +##rcus +bukit +champs +chevy +cuckoo +leith +sadler +theologians +welded +##section +1663 +jj +plurality +xander +##rooms +##formed +shredded +temps +intimately +pau +tormented +##lok +##stellar +1618 +charred +ems +essen +##mmel +alarms +spraying +ascot +blooms +twinkle +##abia +##apes +internment +obsidian +##chaft +snoop +##dav +##ooping +malibu +##tension +quiver +##itia +hays +mcintosh +travers +walsall +##ffie +1623 +beverley +schwarz +plunging +structurally +m3 +rosenthal +vikram +##tsk +770 +ghz +##onda +##tiv +chalmers +groningen +pew +reckon +unicef +##rvis +55th +##gni +1651 +sulawesi +avila +cai +metaphysical +screwing +turbulence +##mberg +augusto +samba +56th +baffled +momentary +toxin +##urian +##wani +aachen +condoms +dali +steppe +##3d +##app +##oed +##year +adolescence +dauphin +electrically +inaccessible +microscopy +nikita +##ega +atv +##cel +##enter +##oles +##oteric +##ы +accountants +punishments +wrongly +bribes +adventurous +clinch +flinders +southland +##hem +##kata +gough +##ciency +lads +soared +##ה +undergoes +deformation +outlawed +rubbish +##arus +##mussen +##nidae +##rzburg +arcs +##ingdon +##tituted +1695 +wheelbase +wheeling +bombardier +campground +zebra +##lices +##oj +##bain +lullaby +##ecure +donetsk +wylie +grenada +##arding +##ης +squinting +eireann +opposes +##andra +maximal +runes +##broken +##cuting +##iface +##ror +##rosis +additive +britney +adultery +triggering +##drome +detrimental +aarhus +containment +jc +swapped +vichy +##ioms +madly +##oric +##rag +brant +##ckey +##trix +1560 +1612 +broughton +rustling +##stems +##uder +asbestos +mentoring +##nivorous +finley +leaps +##isan +apical +pry +slits +substitutes +##dict +intuitive +fantasia +insistent +unreasonable +##igen +##vna +domed +hannover +margot +ponder +##zziness +impromptu +jian +lc +rampage +stemming +##eft +andrey +gerais +whichever +amnesia +appropriated +anzac +clicks +modifying +ultimatum +cambrian +maids +verve +yellowstone +##mbs +conservatoire +##scribe +adherence +dinners +spectra +imperfect +mysteriously +sidekick +tatar +tuba +##aks +##ifolia +distrust +##athan +##zle +c2 +ronin +zac +##pse +celaena +instrumentalist +scents +skopje +##mbling +comical +compensated +vidal +condor +intersect +jingle +wavelengths +##urrent +mcqueen +##izzly +carp +weasel +422 +kanye +militias +postdoctoral +eugen +gunslinger +##ɛ +faux +hospice +##for +appalled +derivation +dwarves +##elis +dilapidated +##folk +astoria +philology +##lwyn +##otho +##saka +inducing +philanthropy +##bf +##itative +geek +markedly +sql +##yce +bessie +indices +rn +##flict +495 +frowns +resolving +weightlifting +tugs +cleric +contentious +1653 +mania +rms +##miya +##reate +##ruck +##tucket +bien +eels +marek +##ayton +##cence +discreet +unofficially +##ife +leaks +##bber +1705 +332 +dung +compressor +hillsborough +pandit +shillings +distal +##skin +381 +##tat +##you +nosed +##nir +mangrove +undeveloped +##idia +textures +##inho +##500 +##rise +ae +irritating +nay +amazingly +bancroft +apologetic +compassionate +kata +symphonies +##lovic +airspace +##lch +930 +gifford +precautions +fulfillment +sevilla +vulgar +martinique +##urities +looting +piccolo +tidy +##dermott +quadrant +armchair +incomes +mathematicians +stampede +nilsson +##inking +##scan +foo +quarterfinal +##ostal +shang +shouldered +squirrels +##owe +344 +vinegar +##bner +##rchy +##systems +delaying +##trics +ars +dwyer +rhapsody +sponsoring +##gration +bipolar +cinder +starters +##olio +##urst +421 +signage +##nty +aground +figurative +mons +acquaintances +duets +erroneously +soyuz +elliptic +recreated +##cultural +##quette +##ssed +##tma +##zcz +moderator +scares +##itaire +##stones +##udence +juniper +sighting +##just +##nsen +britten +calabria +ry +bop +cramer +forsyth +stillness +##л +airmen +gathers +unfit +##umber +##upt +taunting +##rip +seeker +streamlined +##bution +holster +schumann +tread +vox +##gano +##onzo +strive +dil +reforming +covent +newbury +predicting +##orro +decorate +tre +##puted +andover +ie +asahi +dept +dunkirk +gills +##tori +buren +huskies +##stis +##stov +abstracts +bets +loosen +##opa +1682 +yearning +##glio +##sir +berman +effortlessly +enamel +napoli +persist +##peration +##uez +attache +elisa +b1 +invitations +##kic +accelerating +reindeer +boardwalk +clutches +nelly +polka +starbucks +##kei +adamant +huey +lough +unbroken +adventurer +embroidery +inspecting +stanza +##ducted +naia +taluka +##pone +##roids +chases +deprivation +florian +##jing +##ppet +earthly +##lib +##ssee +colossal +foreigner +vet +freaks +patrice +rosewood +triassic +upstate +##pkins +dominates +ata +chants +ks +vo +##400 +##bley +##raya +##rmed +555 +agra +infiltrate +##ailing +##ilation +##tzer +##uppe +##werk +binoculars +enthusiast +fujian +squeak +##avs +abolitionist +almeida +boredom +hampstead +marsden +rations +##ands +inflated +334 +bonuses +rosalie +patna +##rco +329 +detachments +penitentiary +54th +flourishing +woolf +##dion +##etched +papyrus +##lster +##nsor +##toy +bobbed +dismounted +endelle +inhuman +motorola +tbs +wince +wreath +##ticus +hideout +inspections +sanjay +disgrace +infused +pudding +stalks +##urbed +arsenic +leases +##hyl +##rrard +collarbone +##waite +##wil +dowry +##bant +##edance +genealogical +nitrate +salamanca +scandals +thyroid +necessitated +##! +##" +### +##$ +##% +##& +##' +##( +##) +##* +##+ +##, +##- +##. +##/ +##: +##; +##< +##= +##> +##? +##@ +##[ +##\ +##] +##^ +##_ +##` +##{ +##| +##} +##~ +##¡ +##¢ +##£ +##¤ +##¥ +##¦ +##§ +##¨ +##© +##ª +##« +##¬ +##® +##± +##´ +##µ +##¶ +##· +##º +##» +##¼ +##¾ +##¿ +##æ +##ð +##÷ +##þ +##đ +##ħ +##ŋ +##œ +##ƒ +##ɐ +##ɑ +##ɒ +##ɔ +##ɕ +##ə +##ɡ +##ɣ +##ɨ +##ɪ +##ɫ +##ɬ +##ɯ +##ɲ +##ɴ +##ɹ +##ɾ +##ʀ +##ʁ +##ʂ +##ʃ +##ʉ +##ʊ +##ʋ +##ʌ +##ʎ +##ʐ +##ʑ +##ʒ +##ʔ +##ʰ +##ʲ +##ʳ +##ʷ +##ʸ +##ʻ +##ʼ +##ʾ +##ʿ +##ˈ +##ˡ +##ˢ +##ˣ +##ˤ +##β +##γ +##δ +##ε +##ζ +##θ +##κ +##λ +##μ +##ξ +##ο +##π +##ρ +##σ +##τ +##υ +##φ +##χ +##ψ +##ω +##б +##г +##д +##ж +##з +##м +##п +##с +##у +##ф +##х +##ц +##ч +##ш +##щ +##ъ +##э +##ю +##ђ +##є +##і +##ј +##љ +##њ +##ћ +##ӏ +##ա +##բ +##գ +##դ +##ե +##թ +##ի +##լ +##կ +##հ +##մ +##յ +##ն +##ո +##պ +##ս +##վ +##տ +##ր +##ւ +##ք +##־ +##א +##ב +##ג +##ד +##ו +##ז +##ח +##ט +##י +##ך +##כ +##ל +##ם +##מ +##ן +##נ +##ס +##ע +##ף +##פ +##ץ +##צ +##ק +##ר +##ש +##ת +##، +##ء +##ب +##ت +##ث +##ج +##ح +##خ +##ذ +##ز +##س +##ش +##ص +##ض +##ط +##ظ +##ع +##غ +##ـ +##ف +##ق +##ك +##و +##ى +##ٹ +##پ +##چ +##ک +##گ +##ں +##ھ +##ہ +##ے +##अ +##आ +##उ +##ए +##क +##ख +##ग +##च +##ज +##ट +##ड +##ण +##त +##थ +##द +##ध +##न +##प +##ब +##भ +##म +##य +##र +##ल +##व +##श +##ष +##स +##ह +##ा +##ि +##ी +##ो +##। +##॥ +##ং +##অ +##আ +##ই +##উ +##এ +##ও +##ক +##খ +##গ +##চ +##ছ +##জ +##ট +##ড +##ণ +##ত +##থ +##দ +##ধ +##ন +##প +##ব +##ভ +##ম +##য +##র +##ল +##শ +##ষ +##স +##হ +##া +##ি +##ী +##ে +##க +##ச +##ட +##த +##ந +##ன +##ப +##ம +##ய +##ர +##ல +##ள +##வ +##ா +##ி +##ு +##ே +##ை +##ನ +##ರ +##ಾ +##ක +##ය +##ර +##ල +##ව +##ා +##ก +##ง +##ต +##ท +##น +##พ +##ม +##ย +##ร +##ล +##ว +##ส +##อ +##า +##เ +##་ +##། +##ག +##ང +##ད +##ན +##པ +##བ +##མ +##འ +##ར +##ལ +##ས +##မ +##ა +##ბ +##გ +##დ +##ე +##ვ +##თ +##ი +##კ +##ლ +##მ +##ნ +##ო +##რ +##ს +##ტ +##უ +##ᄀ +##ᄂ +##ᄃ +##ᄅ +##ᄆ +##ᄇ +##ᄉ +##ᄊ +##ᄋ +##ᄌ +##ᄎ +##ᄏ +##ᄐ +##ᄑ +##ᄒ +##ᅡ +##ᅢ +##ᅥ +##ᅦ +##ᅧ +##ᅩ +##ᅪ +##ᅭ +##ᅮ +##ᅯ +##ᅲ +##ᅳ +##ᅴ +##ᅵ +##ᆨ +##ᆫ +##ᆯ +##ᆷ +##ᆸ +##ᆼ +##ᴬ +##ᴮ +##ᴰ +##ᴵ +##ᴺ +##ᵀ +##ᵃ +##ᵇ +##ᵈ +##ᵉ +##ᵍ +##ᵏ +##ᵐ +##ᵒ +##ᵖ +##ᵗ +##ᵘ +##ᵣ +##ᵤ +##ᵥ +##ᶜ +##ᶠ +##‐ +##‑ +##‒ +##– +##— +##― +##‖ +##‘ +##’ +##‚ +##“ +##” +##„ +##† +##‡ +##• +##… +##‰ +##′ +##″ +##› +##‿ +##⁄ +##⁰ +##ⁱ +##⁴ +##⁵ +##⁶ +##⁷ +##⁸ +##⁹ +##⁻ +##ⁿ +##₅ +##₆ +##₇ +##₈ +##₉ +##₊ +##₍ +##₎ +##ₐ +##ₑ +##ₒ +##ₓ +##ₕ +##ₖ +##ₗ +##ₘ +##ₚ +##ₛ +##ₜ +##₤ +##₩ +##€ +##₱ +##₹ +##ℓ +##№ +##ℝ +##™ +##⅓ +##⅔ +##← +##↑ +##→ +##↓ +##↔ +##↦ +##⇄ +##⇌ +##⇒ +##∂ +##∅ +##∆ +##∇ +##∈ +##∗ +##∘ +##√ +##∞ +##∧ +##∨ +##∩ +##∪ +##≈ +##≡ +##≤ +##≥ +##⊂ +##⊆ +##⊕ +##⊗ +##⋅ +##─ +##│ +##■ +##▪ +##● +##★ +##☆ +##☉ +##♠ +##♣ +##♥ +##♦ +##♯ +##⟨ +##⟩ +##ⱼ +##⺩ +##⺼ +##⽥ +##、 +##。 +##〈 +##〉 +##《 +##》 +##「 +##」 +##『 +##』 +##〜 +##あ +##い +##う +##え +##お +##か +##き +##く +##け +##こ +##さ +##し +##す +##せ +##そ +##た +##ち +##っ +##つ +##て +##と +##な +##に +##ぬ +##ね +##の +##は +##ひ +##ふ +##へ +##ほ +##ま +##み +##む +##め +##も +##や +##ゆ +##よ +##ら +##り +##る +##れ +##ろ +##を +##ん +##ァ +##ア +##ィ +##イ +##ウ +##ェ +##エ +##オ +##カ +##キ +##ク +##ケ +##コ +##サ +##シ +##ス +##セ +##タ +##チ +##ッ +##ツ +##テ +##ト +##ナ +##ニ +##ノ +##ハ +##ヒ +##フ +##ヘ +##ホ +##マ +##ミ +##ム +##メ +##モ +##ャ +##ュ +##ョ +##ラ +##リ +##ル +##レ +##ロ +##ワ +##ン +##・ +##ー +##一 +##三 +##上 +##下 +##不 +##世 +##中 +##主 +##久 +##之 +##也 +##事 +##二 +##五 +##井 +##京 +##人 +##亻 +##仁 +##介 +##代 +##仮 +##伊 +##会 +##佐 +##侍 +##保 +##信 +##健 +##元 +##光 +##八 +##公 +##内 +##出 +##分 +##前 +##劉 +##力 +##加 +##勝 +##北 +##区 +##十 +##千 +##南 +##博 +##原 +##口 +##古 +##史 +##司 +##合 +##吉 +##同 +##名 +##和 +##囗 +##四 +##国 +##國 +##土 +##地 +##坂 +##城 +##堂 +##場 +##士 +##夏 +##外 +##大 +##天 +##太 +##夫 +##奈 +##女 +##子 +##学 +##宀 +##宇 +##安 +##宗 +##定 +##宣 +##宮 +##家 +##宿 +##寺 +##將 +##小 +##尚 +##山 +##岡 +##島 +##崎 +##川 +##州 +##巿 +##帝 +##平 +##年 +##幸 +##广 +##弘 +##張 +##彳 +##後 +##御 +##德 +##心 +##忄 +##志 +##忠 +##愛 +##成 +##我 +##戦 +##戸 +##手 +##扌 +##政 +##文 +##新 +##方 +##日 +##明 +##星 +##春 +##昭 +##智 +##曲 +##書 +##月 +##有 +##朝 +##木 +##本 +##李 +##村 +##東 +##松 +##林 +##森 +##楊 +##樹 +##橋 +##歌 +##止 +##正 +##武 +##比 +##氏 +##民 +##水 +##氵 +##氷 +##永 +##江 +##沢 +##河 +##治 +##法 +##海 +##清 +##漢 +##瀬 +##火 +##版 +##犬 +##王 +##生 +##田 +##男 +##疒 +##発 +##白 +##的 +##皇 +##目 +##相 +##省 +##真 +##石 +##示 +##社 +##神 +##福 +##禾 +##秀 +##秋 +##空 +##立 +##章 +##竹 +##糹 +##美 +##義 +##耳 +##良 +##艹 +##花 +##英 +##華 +##葉 +##藤 +##行 +##街 +##西 +##見 +##訁 +##語 +##谷 +##貝 +##貴 +##車 +##軍 +##辶 +##道 +##郎 +##郡 +##部 +##都 +##里 +##野 +##金 +##鈴 +##镇 +##長 +##門 +##間 +##阝 +##阿 +##陳 +##陽 +##雄 +##青 +##面 +##風 +##食 +##香 +##馬 +##高 +##龍 +##龸 +##fi +##fl +##! +##( +##) +##, +##- +##. +##/ +##: +##? +##~ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/CMakeLists.txt b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/CMakeLists.txt new file mode 100644 index 00000000..681df075 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/CMakeLists.txt @@ -0,0 +1,61 @@ +# For more information about using CMake with Android Studio, read the +# documentation: https://d.android.com/studio/projects/add-native-code.html + +# Sets the minimum version of CMake required to build the native library. +cmake_minimum_required(VERSION 3.10.2) + +# Add headers +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc/) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc/zdl) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/inc/hpp) + +# Declares and names the project. +project("qa") + +# Creates and names a library, sets it as either STATIC +# or SHARED, and provides the relative paths to its source code. +# You can define multiple libraries, and CMake builds them for you. +# Gradle automatically packages shared libraries with your APK. + +add_library( # Sets the name of the library. + qa + + # Sets the library as a shared library. + SHARED + + # Provides a relative path to your source file(s). + native-lib.cpp inference.cpp inference_helper.cpp) + +# Searches for a specified prebuilt library and stores the path as a +# variable. Because CMake includes system libraries in the search path by +# default, you only need to specify the name of the public NDK library +# you want to add. CMake verifies that the library exists before +# completing its build. + +find_library( # Sets the name of the path variable. + log-lib + android-lib + android + # Specifies the name of the NDK library that + # you want CMake to locate. + log) + +# Specifies libraries CMake should link to your target library. You +# can link multiple libraries, such as libraries you define in this +# build script, prebuilt third-party libraries, or system libraries. + +target_link_libraries( # Specifies the target library. + qa + + # Add path to dependent libSNPE.so + ${CMAKE_CURRENT_SOURCE_DIR}/../jniLibs/arm64-v8a/libSNPE.so + + # If above path gives library duplication error, then please use following one + # and delete libSnpe.so from 'jniLibs' directory: + # ${CMAKE_CURRENT_SOURCE_DIR}/../cmakeLibs/arm64-v8a/libSNPE.so + + # Links the target library to the log library + # included in the NDK. + android + log) \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CheckRuntime.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CheckRuntime.hpp new file mode 100644 index 00000000..07538cd0 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CheckRuntime.hpp @@ -0,0 +1,17 @@ +//============================================================================== +// +// Copyright (c) 2017-2019 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef CHECKRUNTIME_H +#define CHECKRUNTIME_H + +#include "SNPE/SNPEFactory.hpp" + +zdl::DlSystem::Runtime_t checkRuntime(zdl::DlSystem::Runtime_t runtime); +bool checkGLCLInteropSupport(); + +#endif diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CreateUserBuffer.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CreateUserBuffer.hpp new file mode 100644 index 00000000..3429873c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/CreateUserBuffer.hpp @@ -0,0 +1,53 @@ +//============================================================================== +// +// Copyright (c) 2017-2020 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#include +#include +#include + +#include "SNPE/SNPE.hpp" +#include "DlSystem/IUserBuffer.hpp" +#include "DlSystem/UserBufferMap.hpp" + +typedef unsigned int GLuint; + +// Helper function to fill a single entry of the UserBufferMap with the given user-backed buffer +void createUserBuffer(zdl::DlSystem::UserBufferMap& userBufferMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + const char * name, + const bool isTfNBuffer, + int bitWidth); + +// Create a UserBufferMap of the SNPE network inputs +void createInputBufferMap(zdl::DlSystem::UserBufferMap& inputMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + const bool isTfNBuffer, + int bitWidth); + +// Create a UserBufferMap of the SNPE network outputs +void createOutputBufferMap(zdl::DlSystem::UserBufferMap& outputMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + const bool isTfNBuffer, + int bitWidth); + +void createUserBuffer(zdl::DlSystem::UserBufferMap& userBufferMap, + std::unordered_map& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + const char * name); + +void createInputBufferMap(zdl::DlSystem::UserBufferMap& inputMap, + std::unordered_map& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe); diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadContainer.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadContainer.hpp new file mode 100644 index 00000000..85bf622a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadContainer.hpp @@ -0,0 +1,19 @@ +//============================================================================== +// +// Copyright (c) 2019 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef LOADCONTAINER_H +#define LOADCONTAINER_H + +#include + +#include "DlContainer/IDlContainer.hpp" + +std::unique_ptr loadContainerFromFile(std::string containerPath); +std::unique_ptr loadContainerFromBuffer(const uint8_t * buffer, const size_t size); + +#endif diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadInputTensor.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadInputTensor.hpp new file mode 100644 index 00000000..be2850e3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/LoadInputTensor.hpp @@ -0,0 +1,37 @@ +//============================================================================== +// +// Copyright (c) 2017-2019 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef LOADINPUTTENSOR_H +#define LOADINPUTTENSOR_H + +#include +#include +#include + +#include "SNPE/SNPE.hpp" +#include "DlSystem/ITensorFactory.hpp" +#include "DlSystem/TensorMap.hpp" + +typedef unsigned int GLuint; +std::unique_ptr loadInputTensor (std::unique_ptr& snpe , std::vector& inp_raw); +std::tuple loadMultipleInput (std::unique_ptr & snpe , std::string& fileLine); + +bool loadInputUserBufferFloat(std::unordered_map>& applicationBuffers, + std::unique_ptr& snpe, + std::vector& fileLines); + +bool loadInputUserBufferTf8(std::unordered_map>& applicationBuffers, + std::unique_ptr& snpe, + std::vector& fileLines, + zdl::DlSystem::UserBufferMap& inputMap); + +void loadInputUserBuffer(std::unordered_map& applicationBuffers, + std::unique_ptr& snpe, + const GLuint inputglbuffer); + +#endif diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/SetBuilderOptions.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/SetBuilderOptions.hpp new file mode 100644 index 00000000..3b760147 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/SetBuilderOptions.hpp @@ -0,0 +1,25 @@ +//============================================================================== +// +// Copyright (c) 2017-2019 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef SETBUILDEROPTIONS_H +#define SETBUILDEROPTIONS_H + +#include "DlSystem/RuntimeList.hpp" +#include "SNPE/SNPE.hpp" +#include "DlSystem/DlEnums.hpp" +//#include "DlSystem/UDLFunc.hpp" +#include "DlContainer/IDlContainer.hpp" +#include "DlSystem/PlatformConfig.hpp" + +std::unique_ptr setBuilderOptions(std::unique_ptr & container, + zdl::DlSystem::Runtime_t runtime, + zdl::DlSystem::RuntimeList runtimeList, + bool useUserSuppliedBuffers, + bool useCaching); + +#endif //SETBUILDEROPTIONS_H \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/Util.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/Util.hpp new file mode 100644 index 00000000..d12bdc51 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/Util.hpp @@ -0,0 +1,56 @@ +//============================================================================== +// +// Copyright (c) 2017-2019 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef UTIL_H +#define UTIL_H + +#include +#include +#include + +#include "DlSystem/ITensorFactory.hpp" +#include "DlSystem/TensorShape.hpp" + +template Container& split(Container& result, const typename Container::value_type & s, typename Container::value_type::value_type delimiter ) +{ + result.clear(); + std::istringstream ss( s ); + while (!ss.eof()) + { + typename Container::value_type field; + getline( ss, field, delimiter ); + if (field.empty()) continue; + result.push_back( field ); + } + return result; +} + +size_t calcSizeFromDims(const zdl::DlSystem::Dimension *dims, size_t rank, size_t elementSize); + +std::vector loadFloatDataFile(const std::string& inputFile); +std::vector loadByteDataFile(const std::string& inputFile); +template bool loadByteDataFile(const std::string& inputFile, std::vector& loadVector); + +std::vector loadByteDataFileBatched(const std::string& inputFile); +template bool loadByteDataFileBatched(const std::string& inputFile, std::vector& loadVector, size_t offset); +bool loadByteDataFileBatchedTf8(const std::string& inputFile, std::vector& loadVector, size_t offset); +bool loadByteDataFileBatchedTf8(const std::string& inputFile, std::vector& loadVector, size_t offset, unsigned char& stepEquivalentTo0, float& quantizedStepSize ); + + +bool SaveITensorBatched(const std::string& path, const zdl::DlSystem::ITensor* tensor, size_t batchIndex=0, size_t batchChunk=0); +bool SaveUserBufferBatched(const std::string& path, const std::vector& buffer, size_t batchIndex=0, size_t batchChunk=0); +bool EnsureDirectory(const std::string& dir); + +void Tf8ToFloat(float *out, uint8_t *in, const unsigned char stepEquivalentTo0, const float quantizedStepSize, size_t numElement); +bool FloatToTf8(uint8_t* out, unsigned char& stepEquivalentTo0, float& quantizedStepSize, float* in, size_t numElement); + +void setResizableDim(size_t resizableDim); +size_t getResizableDim(); + +#endif + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/inference.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/inference.h new file mode 100644 index 00000000..3e1f6b8f --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/hpp/inference.h @@ -0,0 +1,64 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +// +// Created by shubpate on 12/11/2021. +// + +#ifndef NATIVEINFERENCE_INFERENCE_H +#define NATIVEINFERENCE_INFERENCE_H + +std::string build_network(const uint8_t * dlc_buffer, const size_t dlc_size); +bool SetAdspLibraryPath(std::string nativeLibPath); +std::string execute_net(std::vector inputVec, int arrayLength, + std::vector & outputVec, std::string runtime); + +#include "zdl/DlSystem/TensorShape.hpp" +#include "zdl/DlSystem/TensorMap.hpp" +#include "zdl/DlSystem/TensorShapeMap.hpp" +#include "zdl/DlSystem/IUserBufferFactory.hpp" +#include "zdl/DlSystem/IUserBuffer.hpp" +#include "zdl/DlSystem/UserBufferMap.hpp" +#include "zdl/DlSystem/IBufferAttributes.hpp" + +#include "zdl/DlSystem/StringList.hpp" + +#include "zdl/SNPE/SNPE.hpp" +#include "zdl/SNPE/SNPEFactory.hpp" +#include "zdl/DlSystem/DlVersion.hpp" +#include "zdl/DlSystem/DlEnums.hpp" +#include "zdl/DlSystem/String.hpp" +#include "zdl/DlContainer/IDlContainer.hpp" +#include "zdl/SNPE/SNPEBuilder.hpp" + +#include "zdl/DlSystem/ITensor.hpp" +#include "zdl/DlSystem/ITensorFactory.hpp" + +#include +#include "android/log.h" + +#define LOG_TAG "SNPE_INF" +#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__) +#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__) + +bool loadInputUserBuffer(std::unordered_map>& applicationBuffers, + std::unique_ptr& snpe, + std::vector inVector, + int arrayLength, + zdl::DlSystem::UserBufferMap& inputMap, + int bitWidth); + +bool saveOutput (zdl::DlSystem::UserBufferMap& outputMap, + std::unordered_map>& applicationOutputBuffers, + std::vector & outputVec, + size_t batchSize, + bool isTfNBuffer, + int bitWidth); + +#endif //NATIVEINFERENCE_INFERENCE_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.h new file mode 100644 index 00000000..9a084071 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.h @@ -0,0 +1,102 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef _DIAGLOG_IDIAGLOG_H_ +#define _DIAGLOG_IDIAGLOG_H_ + +#include "DiagLog/Options.h" +#include "DlSystem/SnpeApiExportDefine.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE IDiagLog handle + */ +typedef void* Snpe_IDiagLog_Handle_t; + +/** + * @brief . + * + * Sets the options after initialization occurs. + * + * @param[in] handle : Handle to access IDiagLog + * @param[in] loggingOptions : The options to set up diagnostic logging. + * + * @return Error code if the options could not be set. Ensure logging is not started/ + * SNPE_SUCCESS otherwise + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IDiagLog_SetOptions(Snpe_IDiagLog_Handle_t handle, Snpe_Options_Handle_t loggingOptionsHandle); + +/** + * @brief . + * + * Gets the curent options for the diag logger. + * + * @param[in] handle : Handle to access IDiagLog + * @return Handle to access DiagLog options. + */ +SNPE_API +Snpe_Options_Handle_t Snpe_IDiagLog_GetOptions(Snpe_IDiagLog_Handle_t handle); + +/** + * @brief . + * + * @param[in] handle : Handle to access IDiagLog + * @param[in] mask : Allows for setting the log mask once diag logging has started + * @return SNPE_SUCCESS if the level was set successfully. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IDiagLog_SetDiagLogMask(Snpe_IDiagLog_Handle_t handle, const char* mask) ; + +/** + * @brief . + * + * Enables logging. + * + * Logging should be started prior to the instantiation of other SNPE_APIs + * to ensure all events are captured. + * + * @param[in] handle : Handle to access IDiagLog + * @return SNPE_SUCCESS if diagnostic logging started successfully. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IDiagLog_Start(Snpe_IDiagLog_Handle_t handle); + +/** + * @brief Disables logging. + * + * @param[in] handle : Handle to access IDiagLog + * + * @return SNPE_SUCCESS if logging stopped successfully. Error code otherwise. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IDiagLog_Stop(Snpe_IDiagLog_Handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _DIAGLOG_IDIAGLOG_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.hpp new file mode 100644 index 00000000..64b81eba --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/IDiagLog.hpp @@ -0,0 +1,133 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include +#include + +#include "Options.hpp" +#include "DlSystem/String.hpp" + +#include "DiagLog/IDiagLog.h" + + +namespace DiagLog{ +class IDiagLog : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static Snpe_ErrorCode_t InvalidDeleteCall(Snpe_IDiagLog_Handle_t ){ + return SNPE_ERRORCODE_CAPI_DELETE_FAILURE; + } + + static constexpr DeleteFunctionType DeleteFunction{InvalidDeleteCall}; + + class OptionsInternal : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_Options_Delete}; + public: + OptionsInternal() + : BaseType(Snpe_Options_Create()) + { } + + explicit OptionsInternal(const Options& options) + : BaseType(Snpe_Options_Create()) + { + setDiagLogMask(options.DiagLogMask.c_str()); + setLogFileDirectory(options.LogFileDirectory.c_str()); + setLogFileName(options.LogFileName.c_str()); + setLogFileRotateCount(options.LogFileRotateCount); + setLogFileReplace(options.LogFileReplace); + } + + const char* getDiagLogMask() const{ + return Snpe_Options_GetDiagLogMask(handle()); + } + void setDiagLogMask(const char* diagLogMask){ + Snpe_Options_SetDiagLogMask(handle(), diagLogMask); + } + + const char* getLogFileDirectory() const{ + return Snpe_Options_GetLogFileDirectory(handle()); + } + void setLogFileDirectory(const char* logFileDirectory){ + Snpe_Options_SetLogFileDirectory(handle(), logFileDirectory); + } + + const char* getLogFileName() const{ + return Snpe_Options_GetLogFileName(handle()); + } + void setLogFileName(const char* logFileName){ + Snpe_Options_SetLogFileName(handle(), logFileName); + } + + uint32_t getLogFileRotateCount() const{ + return Snpe_Options_GetLogFileRotateCount(handle()); + } + void setLogFileRotateCount(uint32_t logFileRotateCount){ + Snpe_Options_SetLogFileRotateCount(handle(), logFileRotateCount); + } + + bool getLogFileReplace() const{ + return Snpe_Options_GetLogFileReplace(handle()); + } + void setLogFileReplace(bool logFileReplace){ + Snpe_Options_SetLogFileReplace(handle(), logFileReplace); + } + + explicit operator Options() const{ + return { + getDiagLogMask(), + getLogFileDirectory(), + getLogFileName(), + getLogFileRotateCount(), + getLogFileReplace() + }; + } + + }; + + + +public: + bool setOptions(const Options& loggingOptions){ + OptionsInternal optionsInternal(loggingOptions); + return SNPE_SUCCESS == Snpe_IDiagLog_SetOptions(handle(), getHandle(optionsInternal)); + } + Options getOptions() const{ + OptionsInternal optionsInternal(moveHandle(Snpe_IDiagLog_GetOptions(handle()))); + return Options(optionsInternal); + } + + bool setDiagLogMask(const std::string& mask){ + return SNPE_SUCCESS == Snpe_IDiagLog_SetDiagLogMask(handle(), mask.c_str()); + } + bool setDiagLogMask(const DlSystem::String& mask){ + return setDiagLogMask(static_cast(mask)); + } + + bool start(void){ + return SNPE_SUCCESS == Snpe_IDiagLog_Start(handle()); + } + bool stop(void){ + return SNPE_SUCCESS == Snpe_IDiagLog_Stop(handle()); + } + +}; + +} // ns DiagLog + +ALIAS_IN_ZDL_NAMESPACE(DiagLog, IDiagLog) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.h new file mode 100644 index 00000000..ad641cca --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.h @@ -0,0 +1,164 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef _DIAGLOG_OPTIONS_H_ +#define _DIAGLOG_OPTIONS_H_ + +#include + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE Options handle + */ +typedef void* Snpe_Options_Handle_t; + + +SNPE_API +Snpe_Options_Handle_t Snpe_Options_Create(); + +/** + * Destroys/frees a Options + * + * @param[in] handle : Handle to access Options object + * @return indication of success/failures + */ +SNPE_API +Snpe_ErrorCode_t Snpe_Options_Delete(Snpe_Options_Handle_t handle); + +/** + * Gets DiagLogMask + * diagLogMask: Enables diag logging only on the specified area mask + * + * @param[in] handle : Handle to access Options object + * @return diagLogMask as a const char* + */ +SNPE_API +const char* Snpe_Options_GetDiagLogMask(Snpe_Options_Handle_t handle); + +/** + * Sets DiagLogMask + * diagLogMask: Enables diag logging only on the specified area mask + * + * @param[in] handle : Handle to access Options object + * @param[in] diagLogMask : specific area where logging needs to be enabed + */ +SNPE_API +void Snpe_Options_SetDiagLogMask(Snpe_Options_Handle_t handle, const char* diagLogMask); + +/** + * Gets logFileDirectory + * logFileDirectory: The path to the directory where log files will be written. + * The path may be relative or absolute. Relative paths are interpreted + * + * @param[in] handle : Handle to access Options object + * @return logFileDirectory as a const char* + */ +SNPE_API +const char* Snpe_Options_GetLogFileDirectory(Snpe_Options_Handle_t handle); + +/** + * Sets logFileDirectory + * logFileDirectory: The path to the directory where log files will be written. + * The path may be relative or absolute. Relative paths are interpreted + * + * @param[in] handle : Handle to access Options object + * @param[in] logFileDirectory : path for saving the log files + */ +SNPE_API +void Snpe_Options_SetLogFileDirectory(Snpe_Options_Handle_t handle, const char* logFileDirectory); + + +/** + * Gets logFileName + * logFileName: The name used for log files. If this value is empty then BaseName will be + * used as the default file name. + * + * @param[in] handle : Handle to access Options object + * @return logFileName as a const char* + */ +SNPE_API +const char* Snpe_Options_GetLogFileName(Snpe_Options_Handle_t handle); + +/** + * Sets logFileName + * logFileName: The name used for log files. If this value is empty then BaseName will be + * used as the default file name. + * + * @param[in] handle : Handle to access Options object + * @param[in] logFileName : name of log file + */ +SNPE_API +void Snpe_Options_SetLogFileName(Snpe_Options_Handle_t handle, const char* logFileName); + +/** + * Gets the maximum number of log files to create. If set to 0 no log rotation + * will be used and the log file name specified will be used each time, overwriting + * any existing log file that may exist. + * + * @param[in] handle : Handle to access options object. + * @return max log files to create + */ +SNPE_API +uint32_t Snpe_Options_GetLogFileRotateCount(Snpe_Options_Handle_t handle); + +/** + * Sets the maximum number of log files to create. If set to 0 no log rotation + * will be used and the log file name specified will be used each time, overwriting + * any existing log file that may exist. + * + * @param[in] handle : Handle to access options object. + * @param[in] logFileRotateCount : max log files to create + */ +SNPE_API +void Snpe_Options_SetLogFileRotateCount(Snpe_Options_Handle_t handle, uint32_t logFileRotateCount); + +/** + * If the log file already exists, control whether it will be replaced + * + * @param[in] handle : Handle to access options object + * @return 1 if log file will be replaced, 0 otherwise + */ +SNPE_API +int Snpe_Options_GetLogFileReplace(Snpe_Options_Handle_t handle); + +/** + * If the log file already exists, control whether it will be replaced + * + * @param[in] handle : Handle to access options object + * @param[in] logFileReplace : 1 if log file to be replaced, 0 otherwise + */ +SNPE_API +void Snpe_Options_SetLogFileReplace(Snpe_Options_Handle_t handle, int logFileReplace); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _DIAGLOG_OPTIONS_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.hpp new file mode 100644 index 00000000..c9ad48b6 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DiagLog/Options.hpp @@ -0,0 +1,50 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include +#include + +#include "DiagLog/IDiagLog.h" + + +namespace DiagLog { + +class Options +{ +public: + Options( + std::string diagLogMask = "", + std::string logFileDirectory = "diaglogs", + std::string logFileName = "DiagLog", + uint32_t logFileRotateCount = 20, + bool logFileReplace = true + ) + : DiagLogMask(std::move(diagLogMask)), + LogFileDirectory(std::move(logFileDirectory)), + LogFileName(std::move(logFileName)), + LogFileRotateCount(logFileRotateCount), + LogFileReplace(logFileReplace) + { + // Solves the empty string problem with multiple std libs + DiagLogMask.reserve(1); + } + + std::string DiagLogMask; + std::string LogFileDirectory; + std::string LogFileName; + uint32_t LogFileRotateCount; + + bool LogFileReplace; +}; + +} // ns DiagLog + +ALIAS_IN_ZDL_NAMESPACE(DiagLog, Options) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/DlContainer.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/DlContainer.h new file mode 100644 index 00000000..6ce7cd25 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/DlContainer.h @@ -0,0 +1,185 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_CONTAINER_DLCONTAINER_H +#define DL_CONTAINER_DLCONTAINER_H + +#ifdef __cplusplus +#include // uint8_t +#include // size_t +#else +#include +#include +#endif + +#include "DlSystem/DlError.h" +#include "DlSystem/StringList.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE DlcRecord handle + */ +typedef void* Snpe_DlcRecord_Handle_t; + +/** + * Constructs a DlcRecord and returns a handle to it + * + * @return the handle to the created DlcRecord + */ +SNPE_API +Snpe_DlcRecord_Handle_t Snpe_DlcRecord_Create(); + +/** + * Constructs a DlcRecord with a provided name and returns a handle to it + * + * @param[in] name : the name of the record + * + * @return the handle to the created DlcRecord + */ +SNPE_API +Snpe_DlcRecord_Handle_t Snpe_DlcRecord_CreateName(const char* name); + + +/** + * Destroys/frees a DlcRecord + * + * @param[in] dlcRecordHandle : Handle to access DlcRecord + * + * @return indication of success/failures + */ +SNPE_API +Snpe_ErrorCode_t Snpe_DlcRecord_Delete(Snpe_DlcRecord_Handle_t dlcRecordHandle); + +/** + * Gets the size of a DlcRecord in bytes + * + * @param[in] dlcRecordHandle : Handle to access DlcRecord + * + * @return the size of the DlcRecord in bytes + */ +SNPE_API +size_t Snpe_DlcRecord_Size(Snpe_DlcRecord_Handle_t dlcRecordHandle); + +/** + * Gets a pointer to the start of the DlcRecord's data + * + * @param[in] dlcRecordHandle : Handle to access DlcRecord + * + * @return uint8_t pointer to the DlcRecord's data + */ +SNPE_API +uint8_t* Snpe_DlcRecord_Data(Snpe_DlcRecord_Handle_t dlcRecordHandle); + +/** + * Gets the name of the DlcRecord + * + * @param[in] dlcRecordHandle : Handle to access DlcRecord + * + * @return the record's name + */ +SNPE_API +const char* Snpe_DlcRecord_Name(Snpe_DlcRecord_Handle_t dlcRecordHandle); + +/** + * A typedef to indicate a SNPE DlContainer handle + */ +typedef void* Snpe_DlContainer_Handle_t; + +/** + * Destroys/frees a DlContainer + * + * @param[in] dlContainerHandle : Handle to access DlContainer + * + * @return indication of success/failures + */ +SNPE_API +Snpe_ErrorCode_t Snpe_DlContainer_Delete(Snpe_DlContainer_Handle_t dlContainerHandle); + + +/** + * Initializes a container from a container archive file. + * + * @param[in] filename Container archive file path. + * + * @return Status of container open call + */ +SNPE_API +Snpe_DlContainer_Handle_t Snpe_DlContainer_Open(const char* filename); + +/** + * Initializes a container from a byte buffer. + * + * @param[in] buffer Byte buffer holding the contents of an archive + * file. + * + * @param[in] size Size of the byte buffer. + * + * @return A Snpe_DlContainer_Handle_t to access the dlContainer + */ +SNPE_API +Snpe_DlContainer_Handle_t Snpe_DlContainer_OpenBuffer(const uint8_t* buffer, const size_t size); + +/** + * Get the record catalog for a container. + * + * @param[in] dlContainerHandle : Handle to access DlContainer + * + * @return A Snpe_StringListHandle_t that holds the record names of the DlContainer + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_DlContainer_GetCatalog(Snpe_DlContainer_Handle_t dlContainerHandle); + +/** + * Get a record from a container by name. + * + * @param[in] dlContainerHandle : Handle to access DlContainer + * @param[in] recordName : Name of the record to fetch. + * + * @return A Snpe_DlcRecordHandle_t that owns the record read from the DlContainer + */ +SNPE_API +Snpe_DlcRecord_Handle_t Snpe_DlContainer_GetRecord(Snpe_DlContainer_Handle_t dlContainerHandle, const char* recordName); + +/** + * Save the container to an archive on disk. This function will save the + * container if the filename is different from the file that it was opened + * from, or if at least one record was modified since the container was + * opened. + * + * It will truncate any existing file at the target path. + * + * @param[in] dlContainerHandle : Handle to access DlContainer + * @param[in] filename : Container archive file path. + * + * @return indication of success/failure + */ +SNPE_API +Snpe_ErrorCode_t Snpe_DlContainer_Save(Snpe_DlContainer_Handle_t dlContainerHandle, const char* filename); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_CONTAINER_DLCONTAINER_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/IDlContainer.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/IDlContainer.hpp new file mode 100644 index 00000000..482dbd02 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlContainer/IDlContainer.hpp @@ -0,0 +1,146 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include +#include +#include +#include + +#include "Wrapper.hpp" +#include "DlSystem/String.hpp" + +#include "DlContainer/DlContainer.h" +#include "DlSystem/StringList.hpp" + + + +namespace DlContainer { + +struct DlcRecord +{ + std::string name; + std::vector data; + + DlcRecord() + : name{}, + data{} + { } + + DlcRecord( DlcRecord&& other ) noexcept + : name(std::move(other.name)), + data(std::move(other.data)) + { } + DlcRecord(const std::string& new_name) + : name(new_name), + data() + { + if(name.empty()) { + name.reserve(1); + } + } + DlcRecord(const DlcRecord&) = delete; +}; + + +class IDlContainer : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_DlContainer_Delete}; + + template + void getCatalog_(std::set& catalog) const{ + DlSystem::StringList sl(moveHandle(Snpe_DlContainer_GetCatalog(handle()))); + for(auto s : sl){ + catalog.emplace(s); + } + } + + + class DlcRecordInternal : public Wrapper { + friend BaseType; + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_DlcRecord_Delete}; + public: + DlcRecordInternal() + : BaseType(Snpe_DlcRecord_Create()) + { } + explicit DlcRecordInternal(const std::string& name) + : BaseType(Snpe_DlcRecord_CreateName(name.c_str())) + { } + + uint8_t* getData(){ + return Snpe_DlcRecord_Data(handle()); + } + size_t size() const{ + return Snpe_DlcRecord_Size(handle()); + } + const char* getName(){ + return Snpe_DlcRecord_Name(handle()); + } + }; + + +public: + static std::unique_ptr open(const std::string& filename) noexcept{ + return makeUnique(Snpe_DlContainer_Open(filename.c_str())); + } + + static std::unique_ptr open(const uint8_t* buffer, const size_t size) noexcept{ + return makeUnique(Snpe_DlContainer_OpenBuffer(buffer, size)); + + } + static std::unique_ptr open(const std::vector& buffer) noexcept{ + return open(buffer.data(), buffer.size()); + } + static std::unique_ptr open(const DlSystem::String &filename) noexcept{ + return open(static_cast(filename)); + } + + + void getCatalog(std::set& catalog) const{ + return getCatalog_(catalog); + } + void getCatalog(std::set& catalog) const{ + return getCatalog_(catalog); + } + + bool getRecord(const std::string& name, DlcRecord& record) const{ + auto h = Snpe_DlContainer_GetRecord(handle(), name.c_str()); + if(!h) return false; + DlcRecordInternal internal(moveHandle(h)); + auto data = internal.getData(); + + record.name.assign(internal.getName()); + record.data.assign(data, data+internal.size()); + return true; + } + + bool getRecord(const DlSystem::String& name, DlcRecord& record) const{ + return getRecord(static_cast(name), record); + } + + bool save(const std::string& filename){ + return Snpe_DlContainer_Save(handle(), filename.c_str()); + } + + bool save(const DlSystem::String& filename){ + return save(static_cast(filename)); + } +}; + + +} // ns DlContainer + +ALIAS_IN_ZDL_NAMESPACE(DlContainer, DlcRecord) +ALIAS_IN_ZDL_NAMESPACE(DlContainer, IDlContainer) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.h new file mode 100644 index 00000000..85a0f4d3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.h @@ -0,0 +1,267 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _DL_ENUMS_H_ +#define _DL_ENUMS_H_ + +#include "DlSystem/SnpeApiExportDefine.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Enumeration of supported target runtimes. + */ +typedef enum +{ + /// Special value indicating the property is unset. + SNPE_RUNTIME_UNSET = -1, + /// Run the processing on Snapdragon CPU. + /// Data: float 32bit + /// Math: float 32bit + SNPE_RUNTIME_CPU_FLOAT32 = 0, + /// Default legacy enum to retain backward compatibility. + /// CPU = CPU_FLOAT32 + SNPE_RUNTIME_CPU = SNPE_RUNTIME_CPU_FLOAT32, + + /// Run the processing on the Adreno GPU. + /// Data: float 16bit + /// Math: float 32bit + SNPE_RUNTIME_GPU_FLOAT32_16_HYBRID = 1, + /// Default legacy enum to retain backward compatibility. + /// GPU = GPU_FLOAT32_16_HYBRID + SNPE_RUNTIME_GPU = SNPE_RUNTIME_GPU_FLOAT32_16_HYBRID, + + /// Run the processing on the Hexagon DSP. + /// Data: 8bit fixed point Tensorflow style format + /// Math: 8bit fixed point Tensorflow style format + SNPE_RUNTIME_DSP_FIXED8_TF = 2, + /// Default legacy enum to retain backward compatibility. + /// DSP = DSP_FIXED8_TF + SNPE_RUNTIME_DSP = SNPE_RUNTIME_DSP_FIXED8_TF, + + /// Run the processing on the Adreno GPU. + /// Data: float 16bit + /// Math: float 16bit + SNPE_RUNTIME_GPU_FLOAT16 = 3, + + /// Run the processing on Snapdragon AIX+HVX. + /// Data: 8bit fixed point Tensorflow style format + /// Math: 8bit fixed point Tensorflow style format + SNPE_RUNTIME_AIP_FIXED8_TF = 5, + SNPE_RUNTIME_AIP_FIXED_TF = SNPE_RUNTIME_AIP_FIXED8_TF +} Snpe_Runtime_t; + +/** + * Enumeration of runtime available check options. + */ +typedef enum +{ + /// Perform standard runtime available check + SNPE_RUNTIME_CHECK_OPTION_DEFAULT = 2, + /// Perform standard runtime available check + SNPE_RUNTIME_CHECK_OPTION_NORMAL_CHECK = 0, + /// Perform basic runtime available check, may be runtime specific + SNPE_RUNTIME_CHECK_OPTION_BASIC_CHECK = 1, + /// Perform unsignedPD runtime available check + SNPE_RUNTIME_CHECK_OPTION_UNSIGNEDPD_CHECK = 2, +} Snpe_RuntimeCheckOption_t; + +/** + * Enumeration of various performance profiles that can be requested. + */ +typedef enum +{ + /// Run in a standard mode. + /// This mode will be deprecated in the future and replaced with BALANCED. + SNPE_PERFORMANCE_PROFILE_DEFAULT = 0, + /// Run in a balanced mode. + SNPE_PERFORMANCE_PROFILE_BALANCED = 0, + + /// Run in high performance mode + SNPE_PERFORMANCE_PROFILE_HIGH_PERFORMANCE = 1, + + /// Run in a power sensitive mode, at the expense of performance. + SNPE_PERFORMANCE_PROFILE_POWER_SAVER = 2, + + /// Use system settings. SNPE makes no calls to any performance related APIs. + SNPE_PERFORMANCE_PROFILE_SYSTEM_SETTINGS = 3, + + /// Run in sustained high performance mode + SNPE_PERFORMANCE_PROFILE_SUSTAINED_HIGH_PERFORMANCE = 4, + + /// Run in burst mode + SNPE_PERFORMANCE_PROFILE_BURST = 5, + + /// Run in lower clock than POWER_SAVER, at the expense of performance. + SNPE_PERFORMANCE_PROFILE_LOW_POWER_SAVER = 6, + + /// Run in higher clock and provides better performance than POWER_SAVER. + SNPE_PERFORMANCE_PROFILE_HIGH_POWER_SAVER = 7, + + /// Run in lower balanced mode + SNPE_PERFORMANCE_PROFILE_LOW_BALANCED = 8, + + /// Run in lowest clock at the expense of performance + SNPE_PERFORMANCE_PROFILE_EXTREME_POWER_SAVER = 9, + +} Snpe_PerformanceProfile_t; + +/** + * Enumeration of various profilngLevels that can be requested. + */ +typedef enum +{ + /// No profiling. + /// Collects no runtime stats in the DiagLog + SNPE_PROFILING_LEVEL_OFF = 0, + + /// Basic profiling + /// Collects some runtime stats in the DiagLog + SNPE_PROFILING_LEVEL_BASIC = 1, + + /// Detailed profiling + /// Collects more runtime stats in the DiagLog, including per-layer statistics + /// Performance may be impacted + SNPE_PROFILING_LEVEL_DETAILED = 2, + + /// Moderate profiling + /// Collects more runtime stats in the DiagLog, no per-layer statistics + SNPE_PROFILING_LEVEL_MODERATE = 3, + + /// Linting profiling + /// HTP exclusive profiling level that collects in-depth performance metrics + /// for each op in the graph including main thread execution time and time spent + /// on parallel background ops + SNPE_PROFILING_LEVEL_LINTING = 4 + +} Snpe_ProfilingLevel_t; + +/** + * Enumeration of various execution priority hints. + */ +typedef enum +{ + /// Normal priority + SNPE_EXECUTION_PRIORITY_NORMAL = 0, + + /// Higher than normal priority + SNPE_EXECUTION_PRIORITY_HIGH = 1, + + /// Lower priority + SNPE_EXECUTION_PRIORITY_LOW = 2, + + /// Between Normal and High priority + SNPE_EXECUTION_PRIORITY_NORMAL_HIGH = 3 + +} Snpe_ExecutionPriorityHint_t; + +/** + * Enumeration that lists the supported image encoding formats. + */ +typedef enum +{ + /// For unknown image type. Also used as a default value for ImageEncoding_t. + SNPE_IMAGE_ENCODING_UNKNOWN = 0, + + /// The RGB format consists of 3 bytes per pixel: one byte for + /// Red, one for Green, and one for Blue. The byte ordering is + /// endian independent and is always in RGB byte order. + SNPE_IMAGE_ENCODING_RGB = 1, + + /// The ARGB32 format consists of 4 bytes per pixel: one byte for + /// Red, one for Green, one for Blue, and one for the alpha channel. + /// The alpha channel is ignored. The byte ordering depends on the + /// underlying CPU. For little endian CPUs, the byte order is BGRA. + /// For big endian CPUs, the byte order is ARGB. + SNPE_IMAGE_ENCODING_ARGB32 = 2, + + /// The RGBA format consists of 4 bytes per pixel: one byte for + /// Red, one for Green, one for Blue, and one for the alpha channel. + /// The alpha channel is ignored. The byte ordering is endian independent + /// and is always in RGBA byte order. + SNPE_IMAGE_ENCODING_RGBA = 3, + + /// The GRAYSCALE format is for 8-bit grayscale. + SNPE_IMAGE_ENCODING_GRAYSCALE = 4, + + /// NV21 is the Android version of YUV. The Chrominance is down + /// sampled and has a subsampling ratio of 4:2:0. Note that this + /// image format has 3 channels, but the U and V channels + /// are subsampled. For every four Y pixels there is one U and one V pixel. @newpage + SNPE_IMAGE_ENCODING_NV21 = 5, + + /// The BGR format consists of 3 bytes per pixel: one byte for + /// Red, one for Green and one for Blue. The byte ordering is + /// endian independent and is always BGR byte order. + SNPE_IMAGE_ENCODING_BGR = 6 +} Snpe_ImageEncoding_t; + +/** + * Enumeration that lists the supported LogLevels that can be set by users. + */ +typedef enum +{ + /// Enumeration variable to be used by user to set logging level to FATAL. + SNPE_LOG_LEVEL_FATAL = 0, + + /// Enumeration variable to be used by user to set logging level to ERROR. + SNPE_LOG_LEVEL_ERROR = 1, + + /// Enumeration variable to be used by user to set logging level to WARN. + SNPE_LOG_LEVEL_WARN = 2, + + /// Enumeration variable to be used by user to set logging level to INFO. + SNPE_LOG_LEVEL_INFO = 3, + + /// Enumeration variable to be used by user to set logging level to VERBOSE. + SNPE_LOG_LEVEL_VERBOSE = 4 +} Snpe_LogLevel_t; + +/** + * Enumeration that list the supported data types for buffers + */ +typedef enum +{ + /// Unspecified + SNPE_IO_BUFFER_DATATYPE_UNSPECIFIED = 0, + + /// 32-bit floating point + SNPE_IO_BUFFER_DATATYPE_FLOATING_POINT_32 = 1, + + /// 16-bit floating point + SNPE_IO_BUFFER_DATATYPE_FLOATING_POINT_16 = 2, + + /// 8-bit fixed point + SNPE_IO_BUFFER_DATATYPE_FIXED_POINT_8 = 3, + + /// 16-bit fixed point + SNPE_IO_BUFFER_DATATYPE_FIXED_POINT_16 = 4 +} Snpe_IOBufferDataType_t; + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _DL_ENUMS_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.hpp new file mode 100644 index 00000000..9158f594 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlEnums.hpp @@ -0,0 +1,266 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +namespace DlSystem { +/** @addtogroup c_plus_plus_apis C++ +@{ */ + +/** + * Enumeration of supported target runtimes. + */ +enum class Runtime_t +{ + /// Special value indicating the property is unset. + UNSET = -1, + /// Run the processing on Snapdragon CPU. + /// Data: float 32bit + /// Math: float 32bit + CPU_FLOAT32 = 0, + /// Default legacy enum to retain backward compatibility. + /// CPU = CPU_FLOAT32 + CPU = CPU_FLOAT32, + + /// Run the processing on the Adreno GPU. + /// Data: float 16bit + /// Math: float 32bit + GPU_FLOAT32_16_HYBRID = 1, + /// Default legacy enum to retain backward compatibility. + /// GPU = GPU_FLOAT32_16_HYBRID + GPU = GPU_FLOAT32_16_HYBRID, + + /// Run the processing on the Hexagon DSP. + /// Data: 8bit fixed point Tensorflow style format + /// Math: 8bit fixed point Tensorflow style format + DSP_FIXED8_TF = 2, + /// Default legacy enum to retain backward compatibility. + /// DSP = DSP_FIXED8_TF + DSP = DSP_FIXED8_TF, + + /// Run the processing on the Adreno GPU. + /// Data: float 16bit + /// Math: float 16bit + GPU_FLOAT16 = 3, + + /// Run the processing on Snapdragon AIX+HVX. + /// Data: 8bit fixed point Tensorflow style format + /// Math: 8bit fixed point Tensorflow style format + AIP_FIXED8_TF = 5, + AIP_FIXED_TF = AIP_FIXED8_TF, + + /// Any new enums should be added above this line + NUM_RUNTIME_TARGETS +}; + +/** + * Enumeration of runtime available check options. + */ +enum class RuntimeCheckOption_t +{ + /// Perform standard runtime available check + NORMAL_CHECK = 0, + /// Perform basic runtime available check, may be runtime specific + BASIC_CHECK = 1, + /// Perform unsignedPD runtime available check + UNSIGNEDPD_CHECK = 2, + /// Perform standard runtime available check + DEFAULT = 2, + /// Any new enums should be added above this line + NUM_RUNTIMECHECK_OPTIONS +}; + +/** + * Enumeration of various performance profiles that can be requested. + */ +enum class PerformanceProfile_t +{ + /// Run in a standard mode. + /// This mode will be deprecated in the future and replaced with BALANCED. + DEFAULT = 0, + /// Run in a balanced mode. + BALANCED = 0, + + /// Run in high performance mode + HIGH_PERFORMANCE = 1, + + /// Run in a power sensitive mode, at the expense of performance. + POWER_SAVER = 2, + + /// Use system settings. SNPE makes no calls to any performance related APIs. + SYSTEM_SETTINGS = 3, + + /// Run in sustained high performance mode + SUSTAINED_HIGH_PERFORMANCE = 4, + + /// Run in burst mode + BURST = 5, + + /// Run in lower clock than POWER_SAVER, at the expense of performance. + LOW_POWER_SAVER = 6, + + /// Run in higher clock and provides better performance than POWER_SAVER. + HIGH_POWER_SAVER = 7, + + /// Run in lower balanced mode + LOW_BALANCED = 8, + + /// Run in lowest clock at the expense of performance + EXTREME_POWER_SAVER = 9, + + /// Any new enums should be added above this line + NUM_PERF_PROFILES +}; + +/** + * Enumeration of various profilngLevels that can be requested. + */ +enum class ProfilingLevel_t +{ + /// No profiling. + /// Collects no runtime stats in the DiagLog + OFF = 0, + + /// Basic profiling + /// Collects some runtime stats in the DiagLog + BASIC = 1, + + /// Detailed profiling + /// Collects more runtime stats in the DiagLog, including per-layer statistics + /// Performance may be impacted + DETAILED = 2, + + /// Moderate profiling + /// Collects more runtime stats in the DiagLog, no per-layer statistics + MODERATE = 3, + + /// Linting profiling + /// HTP exclusive profiling level that collects in-depth performance metrics + /// for each op in the graph including main thread execution time and time spent + /// on parallel background ops + LINTING = 4 +}; + +/** + * Enumeration of various execution priority hints. + */ +enum class ExecutionPriorityHint_t +{ + /// Normal priority + NORMAL = 0, + + /// Higher than normal priority + HIGH = 1, + + /// Lower priority + LOW = 2, + + /// Between Normal and High priority + NORMAL_HIGH = 3, + + /// Any new enums should be added above this line + NUM_EXECUTION_PRIORITY_HINTS +}; + +/** @} */ /* end_addtogroup c_plus_plus_apis C++*/ + +/** + * Enumeration that lists the supported image encoding formats. + */ +enum class ImageEncoding_t +{ + /// For unknown image type. Also used as a default value for ImageEncoding_t. + UNKNOWN = 0, + + /// The RGB format consists of 3 bytes per pixel: one byte for + /// Red, one for Green, and one for Blue. The byte ordering is + /// endian independent and is always in RGB byte order. + RGB = 1, + + /// The ARGB32 format consists of 4 bytes per pixel: one byte for + /// Red, one for Green, one for Blue, and one for the alpha channel. + /// The alpha channel is ignored. The byte ordering depends on the + /// underlying CPU. For little endian CPUs, the byte order is BGRA. + /// For big endian CPUs, the byte order is ARGB. + ARGB32 = 2, + + /// The RGBA format consists of 4 bytes per pixel: one byte for + /// Red, one for Green, one for Blue, and one for the alpha channel. + /// The alpha channel is ignored. The byte ordering is endian independent + /// and is always in RGBA byte order. + RGBA = 3, + + /// The GRAYSCALE format is for 8-bit grayscale. + GRAYSCALE = 4, + + /// NV21 is the Android version of YUV. The Chrominance is down + /// sampled and has a subsampling ratio of 4:2:0. Note that this + /// image format has 3 channels, but the U and V channels + /// are subsampled. For every four Y pixels there is one U and one V pixel. @newpage + NV21 = 5, + + /// The BGR format consists of 3 bytes per pixel: one byte for + /// Red, one for Green and one for Blue. The byte ordering is + /// endian independent and is always BGR byte order. + BGR = 6 +}; + +/** + * Enumeration that lists the supported LogLevels that can be set by users. + */ +enum class LogLevel_t +{ + /// Enumeration variable to be used by user to set logging level to FATAL. + LOG_FATAL = 0, + + /// Enumeration variable to be used by user to set logging level to ERROR. + LOG_ERROR = 1, + + /// Enumeration variable to be used by user to set logging level to WARN. + LOG_WARN = 2, + + /// Enumeration variable to be used by user to set logging level to INFO. + LOG_INFO = 3, + + /// Enumeration variable to be used by user to set logging level to VERBOSE. + LOG_VERBOSE = 4, + + /// Any new enums should be added above this line + NUM_LOG_LEVELS +}; + +enum class IOBufferDataType_t : int +{ + UNSPECIFIED = 0, + FLOATING_POINT_32 = 1, + FLOATING_POINT_16 = 2, + FIXED_POINT_8 = 3, + FIXED_POINT_16 = 4, + INT_32 = 5, + UINT_32 = 6, + INT_8 = 7, + UINT_8 = 8, + INT_16 = 9, + UINT_16 = 10, + BOOL_8 = 11, + INT_64 = 12, + UINT_64 = 13 +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, Runtime_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, RuntimeCheckOption_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, PerformanceProfile_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ProfilingLevel_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ExecutionPriorityHint_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ImageEncoding_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, LogLevel_t) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, IOBufferDataType_t) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.h new file mode 100644 index 00000000..f8c216ea --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.h @@ -0,0 +1,299 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _DL_ERROR_H_ +#define _DL_ERROR_H_ + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "SnpeApiExportDefine.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Enumeration of error codes + */ +typedef enum +{ + /// Indicate success: SNPE_SUCCESS = 0 + SNPE_SUCCESS = 0, + + // C API Error Codes + // This is a temporary place for them. We still have to figure out how to manage + // passing error codes from the C API to C++ if we want to use things like SetLastError + SNPE_ERRORCODE_CAPI_CREATE_FAILURE = 10, + SNPE_ERRORCODE_CAPI_HANDLEGEN_FAILURE = 11, + SNPE_ERRORCODE_CAPI_DELETE_FAILURE = 12, + SNPE_ERRORCODE_CAPI_BAD_HANDLE = 13, + SNPE_ERRORCODE_CAPI_BAD_ARGUMENT = 14, + SNPE_ERRORCODE_CAPI_BAD_ALLOC = 15, + + // System config errors + SNPE_ERRORCODE_CONFIG_MISSING_PARAM = 100, + SNPE_ERRORCODE_CONFIG_INVALID_PARAM = 101, + SNPE_ERRORCODE_CONFIG_MISSING_FILE = 102, + SNPE_ERRORCODE_CONFIG_NNCONFIG_NOT_SET = 103, + SNPE_ERRORCODE_CONFIG_NNCONFIG_INVALID = 104, + SNPE_ERRORCODE_CONFIG_WRONG_INPUT_NAME = 105, + SNPE_ERRORCODE_CONFIG_INCORRECT_INPUT_DIMENSIONS = 106, + SNPE_ERRORCODE_CONFIG_DIMENSIONS_MODIFICATION_NOT_SUPPORTED = 107, + SNPE_ERRORCODE_CONFIG_BOTH_OUTPUT_LAYER_TENSOR_NAMES_SET = 108, + + SNPE_ERRORCODE_CONFIG_NNCONFIG_ONLY_TENSOR_SUPPORTED = 120, + SNPE_ERRORCODE_CONFIG_NNCONFIG_ONLY_USER_BUFFER_SUPPORTED = 121, + + // DlSystem errors + SNPE_ERRORCODE_DLSYSTEM_MISSING_BUFFER = 200, + SNPE_ERRORCODE_DLSYSTEM_TENSOR_CAST_FAILED = 201, + SNPE_ERRORCODE_DLSYSTEM_FIXED_POINT_PARAM_INVALID = 202, + SNPE_ERRORCODE_DLSYSTEM_SIZE_MISMATCH = 203, + SNPE_ERRORCODE_DLSYSTEM_NAME_NOT_FOUND = 204, + SNPE_ERRORCODE_DLSYSTEM_VALUE_MISMATCH = 205, + SNPE_ERRORCODE_DLSYSTEM_INSERT_FAILED = 206, + SNPE_ERRORCODE_DLSYSTEM_TENSOR_FILE_READ_FAILED = 207, + SNPE_ERRORCODE_DLSYSTEM_DIAGLOG_FAILURE = 208, + SNPE_ERRORCODE_DLSYSTEM_LAYER_NOT_SET = 209, + SNPE_ERRORCODE_DLSYSTEM_WRONG_NUMBER_INPUT_BUFFERS = 210, + SNPE_ERRORCODE_DLSYSTEM_RUNTIME_TENSOR_SHAPE_MISMATCH = 211, + SNPE_ERRORCODE_DLSYSTEM_TENSOR_MISSING = 212, + SNPE_ERRORCODE_DLSYSTEM_TENSOR_ITERATION_UNSUPPORTED = 213, + SNPE_ERRORCODE_DLSYSTEM_BUFFER_MANAGER_MISSING = 214, + SNPE_ERRORCODE_DLSYSTEM_RUNTIME_BUFFER_SOURCE_UNSUPPORTED = 215, + SNPE_ERRORCODE_DLSYSTEM_BUFFER_CAST_FAILED = 216, + SNPE_ERRORCODE_DLSYSTEM_WRONG_TRANSITION_TYPE = 217, + SNPE_ERRORCODE_DLSYSTEM_LAYER_ALREADY_REGISTERED = 218, + SNPE_ERRORCODE_DLSYSTEM_TENSOR_DIM_INVALID = 219, + + SNPE_ERRORCODE_DLSYSTEM_BUFFERENCODING_UNKNOWN = 240, + SNPE_ERRORCODE_DLSYSTEM_BUFFER_INVALID_PARAM = 241, + + // DlContainer errors + SNPE_ERRORCODE_DLCONTAINER_MODEL_PARSING_FAILED = 300, + SNPE_ERRORCODE_DLCONTAINER_UNKNOWN_LAYER_CODE = 301, + SNPE_ERRORCODE_DLCONTAINER_MISSING_LAYER_PARAM = 302, + SNPE_ERRORCODE_DLCONTAINER_LAYER_PARAM_NOT_SUPPORTED = 303, + SNPE_ERRORCODE_DLCONTAINER_LAYER_PARAM_INVALID = 304, + SNPE_ERRORCODE_DLCONTAINER_TENSOR_DATA_MISSING = 305, + SNPE_ERRORCODE_DLCONTAINER_MODEL_LOAD_FAILED = 306, + SNPE_ERRORCODE_DLCONTAINER_MISSING_RECORDS = 307, + SNPE_ERRORCODE_DLCONTAINER_INVALID_RECORD = 308, + SNPE_ERRORCODE_DLCONTAINER_WRITE_FAILURE = 309, + SNPE_ERRORCODE_DLCONTAINER_READ_FAILURE = 310, + SNPE_ERRORCODE_DLCONTAINER_BAD_CONTAINER = 311, + SNPE_ERRORCODE_DLCONTAINER_BAD_DNN_FORMAT_VERSION = 312, + SNPE_ERRORCODE_DLCONTAINER_UNKNOWN_AXIS_ANNOTATION = 313, + SNPE_ERRORCODE_DLCONTAINER_UNKNOWN_SHUFFLE_TYPE = 314, + SNPE_ERRORCODE_DLCONTAINER_TEMP_FILE_FAILURE = 315, + + // Network errors + SNPE_ERRORCODE_NETWORK_EMPTY_NETWORK = 400, + SNPE_ERRORCODE_NETWORK_CREATION_FAILED = 401, + SNPE_ERRORCODE_NETWORK_PARTITION_FAILED = 402, + SNPE_ERRORCODE_NETWORK_NO_OUTPUT_DEFINED = 403, + SNPE_ERRORCODE_NETWORK_MISMATCH_BETWEEN_NAMES_AND_DIMS = 404, + SNPE_ERRORCODE_NETWORK_MISSING_INPUT_NAMES = 405, + SNPE_ERRORCODE_NETWORK_MISSING_OUTPUT_NAMES = 406, + SNPE_ERRORCODE_NETWORK_EXECUTION_FAILED = 407, + + // Host runtime errors + SNPE_ERRORCODE_HOST_RUNTIME_TARGET_UNAVAILABLE = 500, + + // CPU runtime errors + SNPE_ERRORCODE_CPU_LAYER_NOT_SUPPORTED = 600, + SNPE_ERRORCODE_CPU_LAYER_PARAM_NOT_SUPPORTED = 601, + SNPE_ERRORCODE_CPU_LAYER_PARAM_INVALID = 602, + SNPE_ERRORCODE_CPU_LAYER_PARAM_COMBINATION_INVALID = 603, + SNPE_ERRORCODE_CPU_BUFFER_NOT_FOUND = 604, + SNPE_ERRORCODE_CPU_NETWORK_NOT_SUPPORTED = 605, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_ERRORCODE_CPU_UDO_OPERATION_FAILED = 606, +#endif //DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // CPU fixed-point runtime errors + SNPE_ERRORCODE_CPU_FXP_LAYER_NOT_SUPPORTED = 700, + SNPE_ERRORCODE_CPU_FXP_LAYER_PARAM_NOT_SUPPORTED = 701, + SNPE_ERRORCODE_CPU_FXP_LAYER_PARAM_INVALID = 702, + SNPE_ERRORCODE_CPU_FXP_OPTION_INVALID = 703, + + // GPU runtime errors + SNPE_ERRORCODE_GPU_LAYER_NOT_SUPPORTED = 800, + SNPE_ERRORCODE_GPU_LAYER_PARAM_NOT_SUPPORTED = 801, + SNPE_ERRORCODE_GPU_LAYER_PARAM_INVALID = 802, + SNPE_ERRORCODE_GPU_LAYER_PARAM_COMBINATION_INVALID = 803, + SNPE_ERRORCODE_GPU_KERNEL_COMPILATION_FAILED = 804, + SNPE_ERRORCODE_GPU_CONTEXT_NOT_SET = 805, + SNPE_ERRORCODE_GPU_KERNEL_NOT_SET = 806, + SNPE_ERRORCODE_GPU_KERNEL_PARAM_INVALID = 807, + SNPE_ERRORCODE_GPU_OPENCL_CHECK_FAILED = 808, + SNPE_ERRORCODE_GPU_OPENCL_FUNCTION_ERROR = 809, + SNPE_ERRORCODE_GPU_BUFFER_NOT_FOUND = 810, + SNPE_ERRORCODE_GPU_TENSOR_DIM_INVALID = 811, + SNPE_ERRORCODE_GPU_MEMORY_FLAGS_INVALID = 812, + SNPE_ERRORCODE_GPU_UNEXPECTED_NUMBER_OF_IO = 813, + SNPE_ERRORCODE_GPU_LAYER_PROXY_ERROR = 814, + SNPE_ERRORCODE_GPU_BUFFER_IN_USE = 815, + SNPE_ERRORCODE_GPU_BUFFER_MODIFICATION_ERROR = 816, + SNPE_ERRORCODE_GPU_DATA_ARRANGEMENT_INVALID = 817, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_ERRORCODE_GPU_UDO_OPERATION_FAILED = 818, +#endif //DNN_RUNTIME_HAVE_UDO_CAPABILITY + // DSP runtime errors + SNPE_ERRORCODE_DSP_LAYER_NOT_SUPPORTED = 900, + SNPE_ERRORCODE_DSP_LAYER_PARAM_NOT_SUPPORTED = 901, + SNPE_ERRORCODE_DSP_LAYER_PARAM_INVALID = 902, + SNPE_ERRORCODE_DSP_LAYER_PARAM_COMBINATION_INVALID = 903, + SNPE_ERRORCODE_DSP_STUB_NOT_PRESENT = 904, + SNPE_ERRORCODE_DSP_LAYER_NAME_TRUNCATED = 905, + SNPE_ERRORCODE_DSP_LAYER_INPUT_BUFFER_NAME_TRUNCATED = 906, + SNPE_ERRORCODE_DSP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED = 907, + SNPE_ERRORCODE_DSP_RUNTIME_COMMUNICATION_ERROR = 908, + SNPE_ERRORCODE_DSP_RUNTIME_INVALID_PARAM_ERROR = 909, + SNPE_ERRORCODE_DSP_RUNTIME_SYSTEM_ERROR = 910, + SNPE_ERRORCODE_DSP_RUNTIME_CRASHED_ERROR = 911, + SNPE_ERRORCODE_DSP_BUFFER_SIZE_ERROR = 912, + SNPE_ERRORCODE_DSP_UDO_EXECUTE_ERROR = 913, + SNPE_ERRORCODE_DSP_UDO_LIB_NOT_REGISTERED_ERROR = 914, + SNPE_ERRORCODE_DSP_UDO_INVALID_QUANTIZATION_TYPE_ERROR = 915, + + // Model validataion errors + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_NOT_SUPPORTED = 1000, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_PARAM_NOT_SUPPORTED = 1001, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_PARAM_INVALID = 1002, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_PARAM_MISSING = 1003, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_PARAM_COMBINATION_INVALID = 1004, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_ORDERING_INVALID = 1005, + SNPE_ERRORCODE_MODEL_VALIDATION_INVALID_CONSTRAINT = 1006, + SNPE_ERRORCODE_MODEL_VALIDATION_MISSING_BUFFER = 1007, + SNPE_ERRORCODE_MODEL_VALIDATION_BUFFER_REUSE_NOT_SUPPORTED = 1008, + SNPE_ERRORCODE_MODEL_VALIDATION_LAYER_COULD_NOT_BE_ASSIGNED = 1009, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_ERRORCODE_MODEL_VALIDATION_UDO_LAYER_FAILED = 1010, +#endif // DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // UDL errors + SNPE_ERRORCODE_UDL_LAYER_EMPTY_UDL_NETWORK = 1100, + SNPE_ERRORCODE_UDL_LAYER_PARAM_INVALID = 1101, + SNPE_ERRORCODE_UDL_LAYER_INSTANCE_MISSING = 1102, + SNPE_ERRORCODE_UDL_LAYER_SETUP_FAILED = 1103, + SNPE_ERRORCODE_UDL_EXECUTE_FAILED = 1104, + SNPE_ERRORCODE_UDL_BUNDLE_INVALID = 1105, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_ERRORCODE_UDO_REGISTRATION_FAILED = 1106, + SNPE_ERRORCODE_UDO_GET_PACKAGE_FAILED = 1107, + SNPE_ERRORCODE_UDO_GET_IMPLEMENTATION_FAILED = 1108, +#endif // DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // Dependent library errors + SNPE_ERRORCODE_STD_LIBRARY_ERROR = 1200, + + // Unknown exception (catch (...)), Has no component attached to this + SNPE_ERRORCODE_UNKNOWN_EXCEPTION = 1210, + + // Storage Errors + SNPE_ERRORCODE_STORAGE_INVALID_KERNEL_REPO = 1300, + +#ifdef DNN_RUNTIME_HAVE_AIP_RUNTIME + // AIP runtime errors + SNPE_ERRORCODE_AIP_LAYER_NOT_SUPPORTED = 1400, + SNPE_ERRORCODE_AIP_LAYER_PARAM_NOT_SUPPORTED = 1401, + SNPE_ERRORCODE_AIP_LAYER_PARAM_INVALID = 1402, + SNPE_ERRORCODE_AIP_LAYER_PARAM_COMBINATION_INVALID = 1403, + SNPE_ERRORCODE_AIP_STUB_NOT_PRESENT = 1404, + SNPE_ERRORCODE_AIP_LAYER_NAME_TRUNCATED = 1405, + SNPE_ERRORCODE_AIP_LAYER_INPUT_BUFFER_NAME_TRUNCATED = 1406, + SNPE_ERRORCODE_AIP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED = 1407, + SNPE_ERRORCODE_AIP_RUNTIME_COMMUNICATION_ERROR = 1408, + SNPE_ERRORCODE_AIP_RUNTIME_INVALID_PARAM_ERROR = 1409, + SNPE_ERRORCODE_AIP_RUNTIME_SYSTEM_ERROR = 1410, + SNPE_ERRORCODE_AIP_RUNTIME_TENSOR_MISSING = 1411, + SNPE_ERRORCODE_AIP_RUNTIME_TENSOR_SHAPE_MISMATCH = 1412, + SNPE_ERRORCODE_AIP_RUNTIME_BAD_AIX_RECORD = 1413, +#endif // DNN_RUNTIME_HAVE_AIP_RUNTIME + + // DlCaching errors + SNPE_ERRORCODE_DLCACHING_INVALID_METADATA = 1500, + SNPE_ERRORCODE_DLCACHING_INVALID_INITBLOB = 1501, + + // Infrastructure Errors + SNPE_ERRORCODE_INFRA_CLUSTERMGR_INSTANCE_INVALID = 1600, + SNPE_ERRORCODE_INFRA_CLUSTERMGR_EXECUTE_SYNC_FAILED = 1601, + + // Memory Errors + SNPE_ERRORCODE_MEMORY_CORRUPTION_ERROR = 1700 + +} Snpe_ErrorCode_t; + + + +/** + * Clear the last error code + */ +SNPE_API void Snpe_ErrorCode_clearLastErrorCode(); + +/** +* Returns the error code of the last error encountered. +* +* @return The error code. +* +* @note The returned error code is significant only when the return +* value of the call indicated an error. +*/ +SNPE_API Snpe_ErrorCode_t Snpe_ErrorCode_getLastErrorCode(); + +/** +* Returns the error string of the last error encountered. +* +* @return The error string. +* +* @note The returned error string is significant only when the return +* value of the call indicated an error. +*/ +SNPE_API const char* Snpe_ErrorCode_GetLastErrorString(); + +/** + * Returns the info string of the last error encountered. + */ +SNPE_API const char* Snpe_ErrorCode_getLastInfoString(); + +/** + * Returns the uint32_t representation of the error code enum. + * + * @param[in] code The error code to be converted. + * + * @return uint32_t representation of the error code. + */ +SNPE_API uint32_t Snpe_ErrorCode_enumToUInt32(Snpe_ErrorCode_t code); + + +#ifdef __cplusplus +} // extern "C" +#endif + + +#endif // _DL_ERROR_H_ + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.hpp new file mode 100644 index 00000000..55dc2140 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlError.hpp @@ -0,0 +1,261 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include + +#include "DlSystem/DlError.h" + + +namespace DlSystem { + +enum class ErrorCode : uint32_t { + NONE = 0, + + // C API Error Codes + // This is a temporary place for them. We still have to figure out how to manage + // passing error codes from the C API to C++ if we want to use things like SetLastError + SNPE_CAPI_CREATE_FAILURE = 10, + SNPE_CAPI_HANDLEGEN_FAILURE = 11, + SNPE_CAPI_DELETE_FAILURE = 12, + SNPE_CAPI_BAD_HANDLE = 13, + SNPE_CAPI_BAD_ARGUMENT = 14, + SNPE_CAPI_BAD_ALLOC = 15, + + + // System config errors + SNPE_CONFIG_MISSING_PARAM = 100, + SNPE_CONFIG_INVALID_PARAM = 101, + SNPE_CONFIG_MISSING_FILE = 102, + SNPE_CONFIG_NNCONFIG_NOT_SET = 103, + SNPE_CONFIG_NNCONFIG_INVALID = 104, + SNPE_CONFIG_WRONG_INPUT_NAME = 105, + SNPE_CONFIG_INCORRECT_INPUT_DIMENSIONS = 106, + SNPE_CONFIG_DIMENSIONS_MODIFICATION_NOT_SUPPORTED = 107, + SNPE_CONFIG_BOTH_OUTPUT_LAYER_TENSOR_NAMES_SET = 108, + + SNPE_CONFIG_NNCONFIG_ONLY_TENSOR_SUPPORTED = 120, + SNPE_CONFIG_NNCONFIG_ONLY_USER_BUFFER_SUPPORTED = 121, + + // DlSystem errors + SNPE_DLSYSTEM_MISSING_BUFFER = 200, + SNPE_DLSYSTEM_TENSOR_CAST_FAILED = 201, + SNPE_DLSYSTEM_FIXED_POINT_PARAM_INVALID = 202, + SNPE_DLSYSTEM_SIZE_MISMATCH = 203, + SNPE_DLSYSTEM_NAME_NOT_FOUND = 204, + SNPE_DLSYSTEM_VALUE_MISMATCH = 205, + SNPE_DLSYSTEM_INSERT_FAILED = 206, + SNPE_DLSYSTEM_TENSOR_FILE_READ_FAILED = 207, + SNPE_DLSYSTEM_DIAGLOG_FAILURE = 208, + SNPE_DLSYSTEM_LAYER_NOT_SET = 209, + SNPE_DLSYSTEM_WRONG_NUMBER_INPUT_BUFFERS = 210, + SNPE_DLSYSTEM_RUNTIME_TENSOR_SHAPE_MISMATCH = 211, + SNPE_DLSYSTEM_TENSOR_MISSING = 212, + SNPE_DLSYSTEM_TENSOR_ITERATION_UNSUPPORTED = 213, + SNPE_DLSYSTEM_BUFFER_MANAGER_MISSING = 214, + SNPE_DLSYSTEM_RUNTIME_BUFFER_SOURCE_UNSUPPORTED = 215, + SNPE_DLSYSTEM_BUFFER_CAST_FAILED = 216, + SNPE_DLSYSTEM_WRONG_TRANSITION_TYPE = 217, + SNPE_DLSYSTEM_LAYER_ALREADY_REGISTERED = 218, + SNPE_DLSYSTEM_TENSOR_DIM_INVALID = 219, + + SNPE_DLSYSTEM_BUFFERENCODING_UNKNOWN = 240, + SNPE_DLSYSTEM_BUFFER_INVALID_PARAM = 241, + + // DlContainer errors + SNPE_DLCONTAINER_MODEL_PARSING_FAILED = 300, + SNPE_DLCONTAINER_UNKNOWN_LAYER_CODE = 301, + SNPE_DLCONTAINER_MISSING_LAYER_PARAM = 302, + SNPE_DLCONTAINER_LAYER_PARAM_NOT_SUPPORTED = 303, + SNPE_DLCONTAINER_LAYER_PARAM_INVALID = 304, + SNPE_DLCONTAINER_TENSOR_DATA_MISSING = 305, + SNPE_DLCONTAINER_MODEL_LOAD_FAILED = 306, + SNPE_DLCONTAINER_MISSING_RECORDS = 307, + SNPE_DLCONTAINER_INVALID_RECORD = 308, + SNPE_DLCONTAINER_WRITE_FAILURE = 309, + SNPE_DLCONTAINER_READ_FAILURE = 310, + SNPE_DLCONTAINER_BAD_CONTAINER = 311, + SNPE_DLCONTAINER_BAD_DNN_FORMAT_VERSION = 312, + SNPE_DLCONTAINER_UNKNOWN_AXIS_ANNOTATION = 313, + SNPE_DLCONTAINER_UNKNOWN_SHUFFLE_TYPE = 314, + SNPE_DLCONTAINER_TEMP_FILE_FAILURE = 315, + + // Network errors + SNPE_NETWORK_EMPTY_NETWORK = 400, + SNPE_NETWORK_CREATION_FAILED = 401, + SNPE_NETWORK_PARTITION_FAILED = 402, + SNPE_NETWORK_NO_OUTPUT_DEFINED = 403, + SNPE_NETWORK_MISMATCH_BETWEEN_NAMES_AND_DIMS = 404, + SNPE_NETWORK_MISSING_INPUT_NAMES = 405, + SNPE_NETWORK_MISSING_OUTPUT_NAMES = 406, + SNPE_NETWORK_EXECUTION_FAILED = 407, + + // Host runtime errors + SNPE_HOST_RUNTIME_TARGET_UNAVAILABLE = 500, + + // CPU runtime errors + SNPE_CPU_LAYER_NOT_SUPPORTED = 600, + SNPE_CPU_LAYER_PARAM_NOT_SUPPORTED = 601, + SNPE_CPU_LAYER_PARAM_INVALID = 602, + SNPE_CPU_LAYER_PARAM_COMBINATION_INVALID = 603, + SNPE_CPU_BUFFER_NOT_FOUND = 604, + SNPE_CPU_NETWORK_NOT_SUPPORTED = 605, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_CPU_UDO_OPERATION_FAILED = 606, +#endif //DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // CPU fixed-point runtime errors + SNPE_CPU_FXP_LAYER_NOT_SUPPORTED = 700, + SNPE_CPU_FXP_LAYER_PARAM_NOT_SUPPORTED = 701, + SNPE_CPU_FXP_LAYER_PARAM_INVALID = 702, + SNPE_CPU_FXP_OPTION_INVALID = 703, + + // GPU runtime errors + SNPE_GPU_LAYER_NOT_SUPPORTED = 800, + SNPE_GPU_LAYER_PARAM_NOT_SUPPORTED = 801, + SNPE_GPU_LAYER_PARAM_INVALID = 802, + SNPE_GPU_LAYER_PARAM_COMBINATION_INVALID = 803, + SNPE_GPU_KERNEL_COMPILATION_FAILED = 804, + SNPE_GPU_CONTEXT_NOT_SET = 805, + SNPE_GPU_KERNEL_NOT_SET = 806, + SNPE_GPU_KERNEL_PARAM_INVALID = 807, + SNPE_GPU_OPENCL_CHECK_FAILED = 808, + SNPE_GPU_OPENCL_FUNCTION_ERROR = 809, + SNPE_GPU_BUFFER_NOT_FOUND = 810, + SNPE_GPU_TENSOR_DIM_INVALID = 811, + SNPE_GPU_MEMORY_FLAGS_INVALID = 812, + SNPE_GPU_UNEXPECTED_NUMBER_OF_IO = 813, + SNPE_GPU_LAYER_PROXY_ERROR = 814, + SNPE_GPU_BUFFER_IN_USE = 815, + SNPE_GPU_BUFFER_MODIFICATION_ERROR = 816, + SNPE_GPU_DATA_ARRANGEMENT_INVALID = 817, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_GPU_UDO_OPERATION_FAILED = 818, +#endif //DNN_RUNTIME_HAVE_UDO_CAPABILITY + // DSP runtime errors + SNPE_DSP_LAYER_NOT_SUPPORTED = 900, + SNPE_DSP_LAYER_PARAM_NOT_SUPPORTED = 901, + SNPE_DSP_LAYER_PARAM_INVALID = 902, + SNPE_DSP_LAYER_PARAM_COMBINATION_INVALID = 903, + SNPE_DSP_STUB_NOT_PRESENT = 904, + SNPE_DSP_LAYER_NAME_TRUNCATED = 905, + SNPE_DSP_LAYER_INPUT_BUFFER_NAME_TRUNCATED = 906, + SNPE_DSP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED = 907, + SNPE_DSP_RUNTIME_COMMUNICATION_ERROR = 908, + SNPE_DSP_RUNTIME_INVALID_PARAM_ERROR = 909, + SNPE_DSP_RUNTIME_SYSTEM_ERROR = 910, + SNPE_DSP_RUNTIME_CRASHED_ERROR = 911, + SNPE_DSP_BUFFER_SIZE_ERROR = 912, + SNPE_DSP_UDO_EXECUTE_ERROR = 913, + SNPE_DSP_UDO_LIB_NOT_REGISTERED_ERROR = 914, + SNPE_DSP_UDO_INVALID_QUANTIZATION_TYPE_ERROR = 915, + SNPE_DSP_RUNTIME_INVALID_RPC_DRIVER = 916, + SNPE_DSP_RUNTIME_RPC_PERMISSION_ERROR = 917, + SNPE_DSP_RUNTIME_DSP_FILE_OPEN_ERROR = 918, + + // Model validataion errors + SNPE_MODEL_VALIDATION_LAYER_NOT_SUPPORTED = 1000, + SNPE_MODEL_VALIDATION_LAYER_PARAM_NOT_SUPPORTED = 1001, + SNPE_MODEL_VALIDATION_LAYER_PARAM_INVALID = 1002, + SNPE_MODEL_VALIDATION_LAYER_PARAM_MISSING = 1003, + SNPE_MODEL_VALIDATION_LAYER_PARAM_COMBINATION_INVALID = 1004, + SNPE_MODEL_VALIDATION_LAYER_ORDERING_INVALID = 1005, + SNPE_MODEL_VALIDATION_INVALID_CONSTRAINT = 1006, + SNPE_MODEL_VALIDATION_MISSING_BUFFER = 1007, + SNPE_MODEL_VALIDATION_BUFFER_REUSE_NOT_SUPPORTED = 1008, + SNPE_MODEL_VALIDATION_LAYER_COULD_NOT_BE_ASSIGNED = 1009, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_MODEL_VALIDATION_UDO_LAYER_FAILED = 1010, +#endif // DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // UDL errors + SNPE_UDL_LAYER_EMPTY_UDL_NETWORK = 1100, + SNPE_UDL_LAYER_PARAM_INVALID = 1101, + SNPE_UDL_LAYER_INSTANCE_MISSING = 1102, + SNPE_UDL_LAYER_SETUP_FAILED = 1103, + SNPE_UDL_EXECUTE_FAILED = 1104, + SNPE_UDL_BUNDLE_INVALID = 1105, +#ifdef DNN_RUNTIME_HAVE_UDO_CAPABILITY + SNPE_UDO_REGISTRATION_FAILED = 1106, + SNPE_UDO_GET_PACKAGE_FAILED = 1107, + SNPE_UDO_GET_IMPLEMENTATION_FAILED = 1108, +#endif // DNN_RUNTIME_HAVE_UDO_CAPABILITY + + // Dependent library errors + SNPE_STD_LIBRARY_ERROR = 1200, + + // Unknown exception (catch (...)), Has no component attached to this + SNPE_UNKNOWN_EXCEPTION = 1210, + + // Storage Errors + SNPE_STORAGE_INVALID_KERNEL_REPO = 1300, + +#ifdef DNN_RUNTIME_HAVE_AIP_RUNTIME + // AIP runtime errors + SNPE_AIP_LAYER_NOT_SUPPORTED = 1400, + SNPE_AIP_LAYER_PARAM_NOT_SUPPORTED = 1401, + SNPE_AIP_LAYER_PARAM_INVALID = 1402, + SNPE_AIP_LAYER_PARAM_COMBINATION_INVALID = 1403, + SNPE_AIP_STUB_NOT_PRESENT = 1404, + SNPE_AIP_LAYER_NAME_TRUNCATED = 1405, + SNPE_AIP_LAYER_INPUT_BUFFER_NAME_TRUNCATED = 1406, + SNPE_AIP_LAYER_OUTPUT_BUFFER_NAME_TRUNCATED = 1407, + SNPE_AIP_RUNTIME_COMMUNICATION_ERROR = 1408, + SNPE_AIP_RUNTIME_INVALID_PARAM_ERROR = 1409, + SNPE_AIP_RUNTIME_SYSTEM_ERROR = 1410, + SNPE_AIP_RUNTIME_TENSOR_MISSING = 1411, + SNPE_AIP_RUNTIME_TENSOR_SHAPE_MISMATCH = 1412, + SNPE_AIP_RUNTIME_BAD_AIX_RECORD = 1413, + SNPE_AIP_AXIS_QUANT_UNSUPPORTED = 1414, + +#endif // DNN_RUNTIME_HAVE_AIP_RUNTIME + + // DlCaching errors + SNPE_DLCACHING_INVALID_METADATA = 1500, + SNPE_DLCACHING_INVALID_INITBLOB = 1501, + + // Infrastructure Errors + SNPE_INFRA_CLUSTERMGR_INSTANCE_INVALID = 1600, + SNPE_INFRA_CLUSTERMGR_EXECUTE_SYNC_FAILED = 1601, + + // Memory Errors + SNPE_MEMORY_CORRUPTION_ERROR = 1700 + +}; + + +inline ErrorCode getLastErrorCode(){ + return static_cast(Snpe_ErrorCode_getLastErrorCode()); +} + +inline const char* getLastErrorString(){ + return Snpe_ErrorCode_GetLastErrorString(); +} + +inline const char* getLastInfoString(){ + return Snpe_ErrorCode_getLastInfoString(); +} + + +inline uint32_t enumToUInt32(ErrorCode code){ + return Snpe_ErrorCode_enumToUInt32(static_cast(code)); +} + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ErrorCode); + + +namespace zdl{ namespace DlSystem { + inline ErrorCode getLastErrorCode() { return ::DlSystem::getLastErrorCode() ; } + inline const char* getLastErrorString() { return ::DlSystem::getLastErrorString() ; } + inline const char* getLastInfoString() { return ::DlSystem::getLastInfoString() ; } + inline uint32_t enumToUInt32(ErrorCode code){ return ::DlSystem::enumToUInt32(code); } +}} // ns zdl::DlSystem diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlOptional.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlOptional.hpp new file mode 100644 index 00000000..e7bbf666 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlOptional.hpp @@ -0,0 +1,244 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include +#include + + +//============================================================================== +// +// Copyright (c) 2016, 2020 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +//#include +#include +//#include + + +namespace DlSystem { + + +/** @addtogroup c_plus_plus_apis C++ +@{ */ + +/** + * @brief . + * + * Class to manage a value that may or may not exist. The boolean value + * of the Optional class is true if the object contains a value and false + * if it does not contain a value. + * + * The class must be evaluated and confirmed as true (containing a value) + * before being dereferenced. + */ +template +class Optional { +public: + enum class LIFECYCLE { + NONE = 0, + REFERENCE_OWNED = 1, + POINTER_OWNED = 2, + POINTER_NOT_OWNED = 3 + }; + + struct ReferenceCount { + size_t count = 0; + + void increment() { count++; } + + size_t decrement() { + if (count > 0) { + count--; + } + return count; + } + }; + + using U = typename std::remove_pointer::type; + + /** + * The default constructor is set to not have any value, and is + * therefore evaluated as false. + */ + // Do not explicit it so we can return {} + Optional() { + m_Type = LIFECYCLE::NONE; + } + + /** + * Construct an Optional class using an object. + * @param[in] Reference to an object v + * @param[out] Optional instance of object v + */ + template + Optional (const T& v, typename std::enable_if::value>::type* = 0) + : m_Type(LIFECYCLE::REFERENCE_OWNED) { + try { + m_StoragePtr = new T(v); + } catch (...) { + m_StoragePtr = nullptr; + m_Type = LIFECYCLE::NONE; + } + } + + template + Optional(U* v, LIFECYCLE type, typename std::enable_if::value>::type* = 0) + : m_Type(type) { + switch (m_Type) { + case LIFECYCLE::POINTER_OWNED: + m_StoragePtr = v; + m_Count = new ReferenceCount(); + m_Count->increment(); + break; + case LIFECYCLE::POINTER_NOT_OWNED: + m_StoragePtr = v; + break; + case LIFECYCLE::REFERENCE_OWNED: + throw std::bad_exception(); + case LIFECYCLE::NONE: + break; + } + } + + Optional(const Optional &other) : m_Type(other.m_Type), m_Count(other.m_Count) { + if (isReference()) { + m_StoragePtr = new U(*other.m_StoragePtr); + } else if (isPointer()) { + m_StoragePtr = other.m_StoragePtr; + if (isOwned()) { + m_Count->increment(); + } + } + } + + Optional& operator=(const Optional& other) noexcept { + Optional tmp(other); + swap(std::move(tmp)); + return *this; + } + + Optional(Optional&& other) noexcept { + swap(std::move(other)); + } + + Optional& operator=(Optional&& other) noexcept { + swap(std::move(other)); + return *this; + } + + ~Optional() { + if (isOwned()) { + if (isReference() || (isPointer() && m_Count->decrement() == 0)) { + delete m_StoragePtr; + delete m_Count; + } + } + } + + /** + * Boolean value of Optional class is only true when there exists a value. + */ + operator bool() const noexcept { return isValid(); } + + bool operator!() const noexcept { return !isValid(); } + + /** + * Get reference of Optional object + * @warning User must validate Optional has value before. + */ + const T& operator*() { return this->GetReference(); } + + /** + * Get reference of Optional object + * @warning User must validate Optional has value before. + */ + const T& operator*() const { return this->GetReference(); } + + operator T&() { return this->GetReference(); } + + T operator->() { + T self = this->GetReference(); + return self; + } + + void release(){ + if(isOwned() && isPointer()){ + m_Type = LIFECYCLE::POINTER_NOT_OWNED; + if(m_Count && m_Count->decrement() == 0){ + delete m_Count; + m_Count = nullptr; + } + } + } +private: + void swap(Optional&& other) { + m_Type = other.m_Type; + m_StoragePtr = other.m_StoragePtr; + m_Count = other.m_Count; + + other.m_Type = LIFECYCLE::NONE; + other.m_StoragePtr = nullptr; + other.m_Count = nullptr; + } + + template + typename std::enable_if::value, const Q&>::type GetReference() const noexcept { + if (!isReference()) std::terminate(); + return *static_cast(m_StoragePtr); + } + + template + typename std::enable_if::value, const Q&>::type GetReference() const noexcept { + if (!isPointer()) std::terminate(); + return static_cast(m_StoragePtr); + } + + template + typename std::enable_if::value, Q&>::type GetReference() noexcept { + if (!isReference()) std::terminate(); + return *m_StoragePtr; + } + + template + typename std::enable_if::value, Q&>::type GetReference() noexcept { + if (!isPointer()) std::terminate(); + return m_StoragePtr; + } + + bool isPointer() const { + return m_Type == LIFECYCLE::POINTER_OWNED || m_Type == LIFECYCLE::POINTER_NOT_OWNED; + } + + bool isOwned() const { + return m_Type == LIFECYCLE::REFERENCE_OWNED || m_Type == LIFECYCLE::POINTER_OWNED; + } + + bool isReference() const { + return m_Type == LIFECYCLE::REFERENCE_OWNED; + } + + bool isValid() const { + return m_Type != LIFECYCLE::NONE; + } + + U* m_StoragePtr = nullptr; + LIFECYCLE m_Type; + ReferenceCount *m_Count = nullptr; +}; + +} // ns DlSystem + + + +namespace zdl { namespace DlSystem { template using Optional = ::DlSystem::Optional; }} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.h new file mode 100644 index 00000000..fac01d1c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.h @@ -0,0 +1,122 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + + +/** + * @file + */ + +#ifndef _DL_VERSION_H_ +#define _DL_VERSION_H_ + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" +#include + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A class that contains the different portions of a version number. + * A typedef to indicate a SNPE DlVersion handle + */ +typedef void* Snpe_DlVersion_Handle_t; + +/** + * Construct a DlVersion + * + * @return a handle to the created DlVersion + */ +SNPE_API +Snpe_DlVersion_Handle_t Snpe_DlVersion_Create(); + + +/** + * Destroys/frees DlVersion + * + * @param[in] handle : Handle to access DlVersion + * + * @return SNPE_SUCCESS if Delete operation successful. +*/ +SNPE_API +Snpe_ErrorCode_t Snpe_DlVersion_Delete(Snpe_DlVersion_Handle_t handle); + +/** + * Get the major version number. + * @param[in] handle : Handle to access DlVersion + * @return Major version + */ +SNPE_API +int32_t Snpe_DlVersion_GetMajor(Snpe_DlVersion_Handle_t handle); + +/** + * Get the minor version number. + * @param[in] handle : Handle to access DlVersion + * @return Minor version + */ +SNPE_API +int32_t Snpe_DlVersion_GetMinor(Snpe_DlVersion_Handle_t handle); + +/** + * Get the teeny version number. + * @param[in] handle : Handle to access DlVersion + * @return Teeny version + */ +SNPE_API +int32_t Snpe_DlVersion_GetTeeny(Snpe_DlVersion_Handle_t handle); + +/** + * Get the string holding information about the build version. + * + * @param[in] handle : Handle to access DlVersion + * @return Build information + */ +SNPE_API +const char* Snpe_DlVersion_GetBuild(Snpe_DlVersion_Handle_t handle); + +/** + * @brief Returns a string in the form Major.Minor.Teeny.Build + * + * @param[in] handle : Handle to access DlVersion + * @return A formatted char* holding the version information. + * + * @note the returned string will be invalidated by subsequent calls to this function + */ +SNPE_API +const char* Snpe_DlVersion_ToString(Snpe_DlVersion_Handle_t handle); + +/** + * @brief Create a DlVersion from a string + * + * @param stringValue The formatted DlVersion string + * + * @return A handle to the created DlVersion + */ +SNPE_API +Snpe_DlVersion_Handle_t Snpe_DlVersion_FromString(const char* stringValue); + + + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _DL_VERSION_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.hpp new file mode 100644 index 00000000..7badab1f --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/DlVersion.hpp @@ -0,0 +1,118 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include + +#include "Wrapper.hpp" +#include "String.hpp" + +#include "DlSystem/DlVersion.h" +#include "SNPE/SNPEUtil.h" + + +namespace DlSystem { + +class Version_t : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_DlVersion_Delete}; + + template + using MajorReference = WrapperDetail::GenericConstMemberReference; + + template + using MinorReference = WrapperDetail::GenericConstMemberReference; + + template + using TeenyReference = WrapperDetail::GenericConstMemberReference; + + + static std::string BuildGetter(Snpe_DlVersion_Handle_t handle){ + return Snpe_DlVersion_GetBuild(handle); + } + + template + using BuildReference = WrapperDetail::GenericConstMemberReference; + + + static const std::string& toString(int32_t Major, int32_t Minor, int32_t Teeny, const std::string& Build){ + thread_local std::string toret; + + toret = std::to_string(Major); + toret += '.'; + toret += std::to_string(Minor); + toret += '.'; + toret += std::to_string(Teeny); + if(!Build.empty()){ + toret += '.'; + toret += Build; + } + + return toret; + } + +public: + Version_t() + : BaseType(Snpe_DlVersion_Create()) + { } + + Version_t(int32_t Major, int32_t Minor, int32_t Teeny, const std::string& Build) + : BaseType(Snpe_DlVersion_FromString(toString(Major, Minor, Teeny, Build).c_str())) + { } + + + /// Holds the major version number. Changes in this value indicate + /// major changes that break backward compatibility. + MajorReference Major{*this}; + + /// Holds the minor version number. Changes in this value indicate + /// minor changes made to library that are backwards compatible + /// (such as additions to the interface). + MinorReference Minor{*this}; + + /// Holds the teeny version number. Changes in this value indicate + /// changes such as bug fixes and patches made to the library that + /// do not affect the interface. + TeenyReference Teeny{*this}; + + /// This string holds information about the build version. + BuildReference Build{*this}; + + + static Version_t fromString(const std::string& stringValue){ + return moveHandle(Snpe_DlVersion_FromString(stringValue.c_str())); + } + + /** + * @brief Returns a string in the form Major.Minor.Teeny.Build + * + * @return A formatted string holding the version information. + */ + std::string toString() const{ + return Snpe_DlVersion_ToString(handle()); + } + + /** + * @brief Returns a string in the form Major.Minor.Teeny.Build + * + * @return A formatted string holding the version information. + */ + String asString() const{ + return String(toString()); + } +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, Version_t) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.h new file mode 100644 index 00000000..96453ef9 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.h @@ -0,0 +1,117 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _IBUFFER_ATTRIBUTES_H +#define _IBUFFER_ATTRIBUTES_H + +#include "DlSystem/IUserBuffer.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE IBufferAttributes handle + */ +typedef void* Snpe_IBufferAttributes_Handle_t; + + +/** + * @brief Gets the buffer's element size, in bytes + * + * This can be used to compute the memory size required + * to back this buffer. + * + * @param[in] handle : Handle to access IBufferAttributes + * + * @return Element size, in bytes + */ +SNPE_API +size_t Snpe_IBufferAttributes_GetElementSize(Snpe_IBufferAttributes_Handle_t handle); + +/** + * @brief Gets the element's encoding type + * + * @param[in] handle : Handle to access IBufferAttributes + * + * @return encoding type + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_IBufferAttributes_GetEncodingType(Snpe_IBufferAttributes_Handle_t handle); + +/** + * @brief Gets the number of elements in each dimension + * + * @param[in] handle : Handle to access IBufferAttributes + * + * @return Dimension size, in terms of number of elements + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_IBufferAttributes_GetDims(Snpe_IBufferAttributes_Handle_t handle); + +/** + * @brief Gets the alignment requirement of each dimension + * + * Alignment per each dimension is expressed as an multiple, for + * example, if one particular dimension can accept multiples of 8, + * the alignment will be 8. + * + * @param[in] handle : Handle to access IBufferAttributes + * + * @return Alignment in each dimension, in terms of multiple of + * number of elements + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_IBufferAttributes_GetAlignments(Snpe_IBufferAttributes_Handle_t handle); + +/** + * @brief Gets the buffer encoding returned from the network responsible + * for generating this buffer. Depending on the encoding type, this will + * be an instance of an encoding type specific derived class. + * + * @param[in] handle : Handle to access IBufferAttributes + * + * @return Derived user buffer encoding object. + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_IBufferAttributes_GetEncoding_Ref(Snpe_IBufferAttributes_Handle_t handle); + +/** + * @brief Destroys the IBufferAttributes object + * + * @param[handle] handle : Handle to access IBufferAttributes + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IBufferAttributes_Delete(Snpe_IBufferAttributes_Handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _IBUFFER_ATTRIBUTES_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.hpp new file mode 100644 index 00000000..2a86fcec --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IBufferAttributes.hpp @@ -0,0 +1,85 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include +#include "TensorShape.hpp" + +#include "DlSystem/IBufferAttributes.h" +#include "IUserBuffer.hpp" + +namespace DlSystem { + + +class IBufferAttributes : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_IBufferAttributes_Delete}; +public: + + size_t getElementSize() const noexcept{ + return Snpe_IBufferAttributes_GetElementSize(handle()); + } + + UserBufferEncoding::ElementType_t getEncodingType() const noexcept{ + return static_cast(Snpe_IBufferAttributes_GetEncodingType(handle())); + } + + TensorShape getDims() const{ + return moveHandle(Snpe_IBufferAttributes_GetDims(handle())); + } + + TensorShape getAlignments() const{ + return moveHandle(Snpe_IBufferAttributes_GetAlignments(handle())); + } + + UserBufferEncoding* getEncoding() const{ + auto h = Snpe_IBufferAttributes_GetEncoding_Ref(handle()); + switch(Snpe_UserBufferEncoding_GetElementType(h)){ + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNSIGNED8BIT: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT32: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT32: + return makeReference(h); + + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT16: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF8: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF16: + return makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_BOOL8: + return makeReference(h); + + default: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNKNOWN: + return makeReference(h); + } + } + +}; + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, IBufferAttributes) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.h new file mode 100644 index 00000000..a3c3c623 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.h @@ -0,0 +1,156 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_IOBUFFER_DATATYPE_MAP_H +#define DL_SYSTEM_IOBUFFER_DATATYPE_MAP_H + +#include + +#include "DlSystem/DlError.h" +#include "DlSystem/DlEnums.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE IOBufferDataTypeMap handle + */ +typedef void* Snpe_IOBufferDataTypeMap_Handle_t; + +/** + * @brief . + * + * Creates a new Buffer Data type map + * + */ +SNPE_API +Snpe_IOBufferDataTypeMap_Handle_t Snpe_IOBufferDataTypeMap_Create(); + +/** + * @brief Destroys the map + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IOBufferDataTypeMap_Delete(Snpe_IOBufferDataTypeMap_Handle_t handle); +/** + * @brief Adds a name and the corresponding buffer data type + * to the map + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @param[in] name : The name of the buffer + * + * @param[in] bufferDataType : data type of the buffer + * + * @note If a buffer with the same name already exists, no new + * buffer is added. + */ +SNPE_API +Snpe_ErrorCode_t +Snpe_IOBufferDataTypeMap_Add(Snpe_IOBufferDataTypeMap_Handle_t handle, const char* name, Snpe_IOBufferDataType_t bufferDataType); + +/** + * @brief Removes a buffer name from the map + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @param[in] name : The name of the buffer + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IOBufferDataTypeMap_Remove(Snpe_IOBufferDataTypeMap_Handle_t handle, const char* name); + +/** + * @brief Returns the type of the named buffer + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @param[in] name : The name of the buffer + * + * @return The type of the buffer, or UNSPECIFIED if the buffer does not exist + * + */ +SNPE_API +Snpe_IOBufferDataType_t Snpe_IOBufferDataTypeMap_GetBufferDataType(Snpe_IOBufferDataTypeMap_Handle_t handle, const char* name); + +/** + * @brief Returns the type of the first buffer + * + * @param handle : Handle to access the IOBufferDataType map + * + * @return The type of the first buffer, or SNPE_IO_BUFFER_DATATYPE_UNSPECIFIED if the map is empty. + */ +SNPE_API +Snpe_IOBufferDataType_t Snpe_IOBufferDataTypeMap_GetBufferDataTypeOfFirst(Snpe_IOBufferDataTypeMap_Handle_t handle); + +/** + * @brief Returns the size of the buffer type map. + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @return The size of the map + * + */ +SNPE_API +size_t Snpe_IOBufferDataTypeMap_Size(Snpe_IOBufferDataTypeMap_Handle_t handle); + +/** + * @brief Checks the existence of the named buffer in the map + * + * @param[in] handle : Handle to access the IOBufferDataType map + * + * @param[in] name : The name of the buffer + * + * @return 1 if the named buffer exists, 0 otherwise. + * + */ +SNPE_API +int Snpe_IOBufferDataTypeMap_Find(Snpe_IOBufferDataTypeMap_Handle_t handle, const char* name); + +/** + * @brief Resets the map + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IOBufferDataTypeMap_Clear(Snpe_IOBufferDataTypeMap_Handle_t handle); + +/** + * @brief Checks whether the map is empty + * + * @return 1 if the map is empty, 0 otherwise. + * + */ +SNPE_API +int Snpe_IOBufferDataTypeMap_Empty(Snpe_IOBufferDataTypeMap_Handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_IOBUFFER_DATATYPE_MAP_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.hpp new file mode 100644 index 00000000..c39d3320 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IOBufferDataTypeMap.hpp @@ -0,0 +1,69 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include + +#include "DlEnums.hpp" + + +#include "DlSystem/IOBufferDataTypeMap.h" + +namespace DlSystem { + +class IOBufferDataTypeMap : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_IOBufferDataTypeMap_Delete}; + +public: + + IOBufferDataTypeMap() + : BaseType(Snpe_IOBufferDataTypeMap_Create()) + { } + + void add(const char* name, IOBufferDataType_t bufferDataType){ + Snpe_IOBufferDataTypeMap_Add(handle(), name, static_cast(bufferDataType)); + } + + void remove(const char* name){ + Snpe_IOBufferDataTypeMap_Remove(handle(), name); + } + + IOBufferDataType_t getBufferDataType(const char* name){ + return static_cast(Snpe_IOBufferDataTypeMap_GetBufferDataType(handle(), name)); + } + + IOBufferDataType_t getBufferDataType(){ + return static_cast(Snpe_IOBufferDataTypeMap_GetBufferDataTypeOfFirst(handle())); + } + + size_t size() const{ + return Snpe_IOBufferDataTypeMap_Size(handle()); + } + + bool find(const char* name) const{ + return Snpe_IOBufferDataTypeMap_Find(handle(), name); + } + + void clear(){ + Snpe_IOBufferDataTypeMap_Clear(handle()); + } + + bool empty() const{ + return Snpe_IOBufferDataTypeMap_Empty(handle()); + } +}; + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, IOBufferDataTypeMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.h new file mode 100644 index 00000000..913f3bdc --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.h @@ -0,0 +1,118 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef _DL_SYSTEM_ITENSOR_H_ +#define _DL_SYSTEM_ITENSOR_H_ + +#include + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/DlError.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * Represents a tensor which holds n-dimensional data. It is important to + * understand how the tensor data is represented in memory + * relative to the tensor dimensions. Tensors store data in + * memory in row-major order (i.e. the last tensor dimension is + * the fastest varying one). For example, if you have a two + * dimensional tensor with 3 rows and 2 columns (i.e. the tensor + * dimensions are 3,2 as returned in tensor dimension vectors) + * with the following data in terms rows and columns: + * + * | 1 2 |
+ * | 3 4 |
+ * | 5 6 |
+ * + * This data would be stored in memory as 1,2,3,4,5,6. + */ +typedef void* Snpe_ITensor_Handle_t; + + +/** + * Destroys/frees an ITensor + * + * @param[in] userBufferHandle : Handle to access the IUserBuffer + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_ITensor_Delete(Snpe_ITensor_Handle_t iTensorHandle); + +/** + * Returns a tensor iterator pointing to the beginning + * of the data in the tensor. + * + * @param[in] tensorHandle : Handle to access ITensor + * + * @return The tensor data as a void pointer. + */ +SNPE_API +void* Snpe_ITensor_GetData(Snpe_ITensor_Handle_t tensorHandle); + +/** + * @brief Gets the shape of this tensor. + * + * The last element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying dimension, etc. + * + * @param[in] tensorHandle : Handle to access ITensor + * + * @return A TensorShape handle holding the tensor dimensions. + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_ITensor_GetShape(Snpe_ITensor_Handle_t tensorHandle); + +/** + * Returns the element size of the data in the tensor + * (discounting strides). This is how big a buffer would + * need to be to hold the tensor data contiguously in + * memory. + * + * @param[in] tensorHandle : Handle to access ITensor + * + * @return The size of the tensor (in elements). + */ +SNPE_API +size_t Snpe_ITensor_GetSize(Snpe_ITensor_Handle_t tensorHandle); + +SNPE_API +int Snpe_ITensor_IsQuantized(Snpe_ITensor_Handle_t tensorHandle); + +SNPE_API +float Snpe_ITensor_GetDelta(Snpe_ITensor_Handle_t tensorHandle); + +SNPE_API +float Snpe_ITensor_GetOffset(Snpe_ITensor_Handle_t tensorHandle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _DL_SYSTEM_ITENSOR_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.hpp new file mode 100644 index 00000000..4785a39d --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensor.hpp @@ -0,0 +1,95 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "TensorShape.hpp" +#include "ITensorItr.hpp" + +#include "DlSystem/ITensor.h" + + +namespace DlSystem { + + +class ITensor : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_ITensor_Delete}; + + template + T* getData(){ + return static_cast(Snpe_ITensor_GetData(handle())); + } + + template + const T* getData() const{ + return static_cast(Snpe_ITensor_GetData(handle())); + } + +public: + using iterator = DlSystem::ITensorItr; + using const_iterator = DlSystem::ITensorItr; + + + iterator begin(){ + return iterator(getData()); + } + + const_iterator begin() const{ + return const_iterator(getData()); + } + + const_iterator cbegin() const{ + return begin(); + } + + iterator end(){ + return begin() + getSize(); + } + + const_iterator end() const{ + return cbegin() + getSize(); + } + + const_iterator cend() const{ + return end(); + } + + TensorShape getShape() const{ + return moveHandle(Snpe_ITensor_GetShape(handle())); + } + + size_t getSize() const{ + return Snpe_ITensor_GetSize(handle()); + } + + // Serialize to std::ostream is no longer supported + void serialize(std::ostream &output) const = delete; + + bool isQuantized() const{ + return Snpe_ITensor_IsQuantized(handle()); + } + + float GetDelta() const{ + return Snpe_ITensor_GetDelta(handle()); + } + + float GetOffset() const{ + return Snpe_ITensor_GetOffset(handle()); + } +}; + + +} //ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ITensor) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorFactory.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorFactory.hpp new file mode 100644 index 00000000..5ef1e9d3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorFactory.hpp @@ -0,0 +1,52 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "ITensor.hpp" + +#include + + +#include "SNPE/SNPEUtil.h" + +namespace DlSystem{ +// NOTE: These factories use a different handle type because they are singletons +// Never copy this pattern unless you're also implementing a singleton +class ITensorFactory : public Wrapper{ + friend BaseType; + + using BaseType::BaseType; + static constexpr DeleteFunctionType DeleteFunction{NoOpDeleter}; + +public: + ITensorFactory() + : BaseType(nullptr) + { } + + + std::unique_ptr createTensor(const TensorShape &shape) noexcept{ + return makeUnique(Snpe_Util_CreateITensor(getHandle(shape))); + } + + // Create from std::istream is no longer supported + std::unique_ptr createTensor(std::istream &input) noexcept = delete; + + std::unique_ptr createTensor(const TensorShape &shape, + const unsigned char *data, + size_t dataSize) noexcept{ + auto handle = Snpe_Util_CreateITensorDataSize(getHandle(shape), data, dataSize); + return makeUnique(handle); + } + +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, ITensorFactory) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItr.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItr.hpp new file mode 100644 index 00000000..801aa217 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItr.hpp @@ -0,0 +1,199 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include +#include + +#include "Wrapper.hpp" +#include "ITensorItrImpl.hpp" + +namespace DlSystem{ + +template +class ITensorItr{ +public: + using iterator_category = std::bidirectional_iterator_tag; + using pointer = typename std::conditional::type; + using value_type = float; + using difference_type = std::ptrdiff_t; + using reference = typename std::conditional::type; + + + ITensorItr() = delete; + virtual ~ITensorItr() = default; + + explicit ITensorItr(pointer data) noexcept + : m_Impl{nullptr}, + m_IsTrivial{true}, + m_Data{data}, + m_DataStart{data} + { } + + ITensorItr(std::unique_ptr impl, + bool isTrivial = false, + float* data = nullptr) + : m_Impl(impl->clone()), + m_IsTrivial(isTrivial), + m_Data(data), + m_DataStart(data) + { } + + ITensorItr(const ITensorItr& itr) + : m_Impl(itr.m_Impl ? itr.m_Impl->clone() : nullptr), + m_IsTrivial(itr.m_IsTrivial), + m_Data(itr.m_Data), + m_DataStart(itr.m_DataStart) + { } + + ITensorItr(ITensorItr&& itr) noexcept + : m_Impl(std::move(itr.m_Impl)), + m_IsTrivial(itr.m_IsTrivial), + m_Data(itr.m_Data), + m_DataStart(itr.m_DataStart) + { } + + ITensorItr& operator=(const ITensorItr& other){ + if (this == &other) return *this; + + m_Impl = other.m_Impl ? other.m_Impl->clone() : nullptr; + m_IsTrivial = other.m_IsTrivial; + m_Data = other.m_Data; + m_DataStart = other.m_DataStart; + return *this; + } + ITensorItr& operator=(ITensorItr&& other) noexcept{ + if(this != &other){ + m_Impl = std::move(other.m_Impl); + m_IsTrivial = other.m_IsTrivial; + m_Data = other.m_Data; + m_DataStart = other.m_DataStart; + } + return *this; + } + + inline ITensorItr& operator++(){ + if (m_IsTrivial){ + m_Data++; + } else { + m_Impl->increment(); + } + return *this; + } + inline ITensorItr operator++(int){ + ITensorItr tmp(*this); + operator++(); + return tmp; + } + inline ITensorItr& operator--(){ + if (m_IsTrivial){ + m_Data--; + } else { + m_Impl->decrement(); + } + return *this; + } + inline ITensorItr operator--(int){ + ITensorItr tmp(*this); + operator--(); + return tmp; + } + inline ITensorItr& operator+=(int rhs){ + if (m_IsTrivial){ + m_Data += rhs; + } else { + m_Impl->increment(rhs); + } + return *this; + } + inline friend ITensorItr operator+(ITensorItr lhs, int rhs){ + lhs += rhs; + return lhs; + } + inline ITensorItr& operator-=(int rhs){ + if (m_IsTrivial){ + m_Data -= rhs; + } else { + m_Impl->decrement(rhs); + } + return *this; + } + inline friend ITensorItr operator-(ITensorItr lhs, int rhs){ + lhs -= rhs; + return lhs; + } + + inline size_t operator-(const ITensorItr& rhs){ + if (m_IsTrivial) return (m_Data - m_DataStart) - (rhs.m_Data - rhs.m_DataStart); + return m_Impl->getPosition() - rhs.m_Impl->getPosition(); + } + + inline friend bool operator<(const ITensorItr& lhs, const ITensorItr& rhs){ + if (lhs.m_IsTrivial) return lhs.m_Data < rhs.m_Data; + return lhs.m_Impl->dataPointer() < rhs.m_Impl->dataPointer(); + } + inline friend bool operator>(const ITensorItr& lhs, const ITensorItr& rhs){ + return rhs < lhs; + } + inline friend bool operator<=(const ITensorItr& lhs, const ITensorItr& rhs){ + return !(lhs > rhs); + } + inline friend bool operator>=(const ITensorItr& lhs, const ITensorItr& rhs){ + return !(lhs < rhs); + } + + inline bool operator==(const ITensorItr& rhs) const{ + if (m_IsTrivial) return m_Data == rhs.m_Data; + return m_Impl->dataPointer() == rhs.m_Impl->dataPointer(); + } + inline bool operator!=(const ITensorItr& rhs) const{ + return !operator==(rhs); + } + + inline reference operator[](size_t idx){ + if (m_IsTrivial) return *(m_DataStart + idx); + return m_Impl->getReferenceAt(idx); + } + inline reference operator*(){ + if (m_IsTrivial) return *m_Data; + return m_Impl->getReference(); + } + inline reference operator->(){ + return *(*this); + } + inline float* dataPointer() const{ + if (m_IsTrivial) return m_Data; + return m_Impl->dataPointer(); + } + + +protected: + std::unique_ptr<::DlSystem::ITensorItrImpl> m_Impl; + bool m_IsTrivial = false; + pointer m_Data = nullptr; + pointer m_DataStart = nullptr; +}; + + +inline void fill(ITensorItr first, ITensorItr end, float val){ + std::fill(first, end, val); +} +template +OutItr copy(InItr first, InItr last, OutItr result){ + return std::copy(first, last, result); +} + +} // ns DlSystem + + +// ALIAS_IN_ZDL_NAMESPACE +namespace zdl{ namespace DlSystem{ + template + using ITensorItr = ::DlSystem::ITensorItr; +}} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItrImpl.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItrImpl.hpp new file mode 100644 index 00000000..6b9a497b --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/ITensorItrImpl.hpp @@ -0,0 +1,32 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once +#include "Wrapper.hpp" + +namespace DlSystem { + +class ITensorItrImpl { +public: + ITensorItrImpl() = default; + virtual ~ITensorItrImpl() = default; + + virtual float getValue() const = 0; + virtual float& getReference() = 0; + virtual float& getReferenceAt(size_t idx) = 0; + virtual float* dataPointer() const = 0; + virtual void increment(int incVal = 1) = 0; + virtual void decrement(int decVal = 1) = 0; + virtual size_t getPosition() = 0; + virtual std::unique_ptr clone() = 0; + +private: + ITensorItrImpl& operator=(const ITensorItrImpl& other) = delete; + ITensorItrImpl(const ITensorItrImpl& other) = delete; +}; + +} // ns DlSystem diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.h new file mode 100644 index 00000000..fc4cc316 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.h @@ -0,0 +1,714 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _IUSER_BUFFER_H +#define _IUSER_BUFFER_H + +#include +#include + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/DlError.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE UserByfferEncoding handle + */ +typedef void* Snpe_UserBufferEncoding_Handle_t; + +/** + * @brief . + * + * An enum class of all supported element types in a IUserBuffer + */ +//enum class Snpe_UserBufferEncoding_ElementType_t +typedef enum +{ + /// Unknown element type. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNKNOWN = 0, + + /// Each element is presented by float. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT = 1, + + /// Each element is presented by an unsigned int. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNSIGNED8BIT = 2, + + /// Each element is presented by float16. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT16 = 3, + + /// Each element is presented by an 8-bit quantized value. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF8 = 10, + + /// Each element is presented by an 16-bit quantized value. + SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF16 = 11, + + /// Each element is presented by Int32 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT32 = 12, + + /// Each element is presented by UInt32 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT32 = 13, + + /// Each element is presented by Int8 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT8 = 14, + + /// Each element is presented by UInt8 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT8 = 15, + + /// Each element is presented by Int16 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT16 = 16, + + /// Each element is presented by UInt16 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT16 = 17, + + /// Each element is present by Bool8 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_BOOL8 = 18, + + /// Each element is present by Int64 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT64 = 19, + + /// Each element is present by UInt64 + SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT64 = 20 + +}Snpe_UserBufferEncoding_ElementType_t; + + +/** + * @brief Retrieves the element type + * + * @param[in] userBufferEncodingHandle : Handle to access userBufferEncoding + * + * @return Element type + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_UserBufferEncoding_GetElementType(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access userBufferEncoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncoding_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Destroys/frees a UserBufferEncoding + * + * @param[in] userBufferEncodingHandle : Handle to access UserBufferEncoding + * + * @return indication of success/failures + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncoding_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + + +/** + * @brief . + * + * A base class buffer source type + * + * @note User buffer from CPU support all kinds of runtimes; + * User buffer from GLBUFFER support only GPU runtime. + */ +typedef void* Snpe_UserBufferSource_Handle_t; + +typedef enum +{ + /// Unknown buffer source type. + SNPE_USERBUFFERSOURCE_SOURCETYPE_UNKNOWN = 0, + + /// The network inputs are from CPU buffer. + SNPE_USERBUFFERSOURCE_SOURCETYPE_CPU = 1, + + /// The network inputs are from OpenGL buffer. + SNPE_USERBUFFERSOURCE_SOURCETYPE_GLBUFFER = 2 +}Snpe_UserBufferSource_SourceType_t; + +/** + * @brief Retrieves the source type + * + * @param[in] userBufferSourceHandle : Handle to access userBufferSource + * + * @return Source type + */ +SNPE_API +Snpe_UserBufferSource_SourceType_t Snpe_UserBufferSource_GetSourceType(Snpe_UserBufferSource_Handle_t userBufferSourceHandle); + +/** + * @brief Destroys/frees a UserBufferSource + * + * @param[in] userBufferSourceHandle : Handle to access UserBufferSource + * + * @return indication of success/failures + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferSource_Delete(Snpe_UserBufferSource_Handle_t userBufferSourceHandle); + +/** + * @brief . + * + * An source type where input data is delivered from OpenGL buffer + */ +SNPE_API +Snpe_UserBufferSource_Handle_t Snpe_UserBufferSourceGLBuffer_Create(); + +/** + * @brief Destroys the userBuffer + * + * @param[in] userBufferSourceHandle : Handle to access the UserBuffer + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferSourceGLBuffer_Delete(Snpe_UserBufferSource_Handle_t userBufferSourceHandle); + +// Encoding 8 Bit +/** + * @brief . + * + * An encoding type where each element is represented by an unsigned int. + * + * Userbuffer size assumes uint8 encoding for each element. + * (i.e., a tensor with dimensions (2,3) will be represented by (2 * 3) * 1 = 6 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingUnsigned8Bit_Create(); + +/** + * @brief Copy Constructor for UserBufferEncodingUnsigned8Bit + * + * An encoding type where each element is represented by an unsigned int. + * + * Userbuffer size assumes uint8 encoding for each element. + * (i.e., a tensor with dimensions (2,3) will be represented by (2 * 3) * 1 = 6 bytes in memory). + * + * @param[in] otherHandle : a handle to another UserBufferEncodingUnsigned8Bit to copy + * + * @return a handle to the UserBufferEncodingUnsigned8Bit + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingUnsigned8Bit_CreateCopy(Snpe_UserBufferEncoding_Handle_t otherHandle); + +/** + * @brief Destroys the encodingUnsigned8Bit + * + * @param[in] userBufferEncodingHandle : Handle to access the encodingUnsigned8Bit + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingUnsigned8Bit_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingUnsigned8Bit_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + + +// Encoding Float +/** + * @brief . + * + * An encoding type where each element is represented by a float. + * + * Userbuffer size assumes float encoding for each element. + * (i.e., a tensor with dimensions (2,3) will be represented by (2 * 3) * 4 = 24 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingFloat_Create(); + +/** + * @brief Copy Constructor for UserBufferEncodingFloat + * + * An encoding type where each element is represented by a float. + * + * Userbuffer size assumes float encoding for each element. + * (i.e., a tensor with dimensions (2,3) will be represented by (2 * 3) * 4 = 24 bytes in memory). + * + * @param[in] otherHandle : a handle to another UserBufferEncodingFloat to copy + * + * @return a handle to the constructed UserBufferEncodingFloat + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingFloat_CreateCopy(Snpe_UserBufferEncoding_Handle_t otherHandle); + +/** + * @brief Destroys the encodingFloat + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingFloat_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingFloat_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +// Encoding FloatN +/** + * @brief . + * + * An encoding type where each element is represented by a float N + * + * Userbuffer size assumes float N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 16 will be represented by (2 * 3) * 2 = 12 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingFloatN_Create(uint8_t bWidth); + +/** + * @brief Copy Constructor for UserBufferEncodingFloatN + * + * An encoding type where each element is represented by a float N + * + * Userbuffer size assumes float N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 16 will be represented by (2 * 3) * 2 = 12 bytes in memory). + * + * @param[in] otherHandle : a handle to another UserBufferEncodingFloatN to copy + * + * @return a handle to the constructed UserBufferEncodingFloatN + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingFloatN_CreateCopy(Snpe_UserBufferEncoding_Handle_t otherHandle); + + +/** + * @brief Destroys the encodingFloatN + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingFloatN_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingFloatN_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + + +/** + * @brief Get the Float type corresponding to a given bitwidth + * + * @param width bitwidth of Float type + * + * @return ElementType corresponding to a Float of width bits + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_UserBufferEncodingFloatN_GetTypeFromWidth(uint8_t width); + +/** + * @brief . + * + * An encoding type where each element is represented by tfN, which is an + * N-bit quantized value, which has an exact representation of 0.0 + * + * Userbuffer size assumes tf N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 16 will be represented by (2 * 3) * 2 = 12 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingTfN_Create(uint64_t stepFor0, float stepSize, uint8_t bWidth); + +/** + * @brief Copy Constructor for UserBufferEncodingTfN + * + * An encoding type where each element is represented by tfN, which is an + * N-bit quantized value, which has an exact representation of 0.0 + * + * Userbuffer size assumes tf N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 16 will be represented by (2 * 3) * 2 = 12 bytes in memory). + * @param otherHandle the UserBufferEncodingTfN to copy + * @return a handle to a newly constructed UserBufferEncodingTfN + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingTfN_CreateCopy(Snpe_UserBufferEncoding_Handle_t otherHandle); + +/** + * @brief Destroys the encodingTfN + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingTfN_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingTfN_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Sets the step value that represents 0 + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @param[in] stepExactly0 : The step value that represents 0 + * + */ +SNPE_API +void Snpe_UserBufferEncodingTfN_SetStepExactly0(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle, uint64_t stepExactly0); + +/** + * @brief Sets the float value that each step represents + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @param[in] quantizedStepSize : The float value of each step size + * + */ +SNPE_API +void Snpe_UserBufferEncodingTfN_SetQuantizedStepSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle, float quantizedStepSize); + +/** + * @brief Retrieves the step that represents 0.0 + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Step value + */ +SNPE_API +uint64_t Snpe_UserBufferEncodingTfN_GetStepExactly0(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the step size + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Step size + */ +SNPE_API +float Snpe_UserBufferEncodingTfN_GetQuantizedStepSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * Calculates the minimum floating point value that + * can be represented with this encoding. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Minimum representable floating point value + */ +SNPE_API +float Snpe_UserBufferEncodingTfN_GetMin(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * Calculates the maximum floating point value that + * can be represented with this encoding. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Maximum representable floating point value + */ +SNPE_API +float Snpe_UserBufferEncodingTfN_GetMax(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Get the tfN type corresponding to a given bitwidth + * + * @param width bitwidth of tfN type + * + * @return ElementType corresponding to a tfN of width bits + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_UserBufferEncodingTfN_GetTypeFromWidth(uint8_t width); + +// Encoding Int N +/** + * @brief . + * + * An encoding type where each element is represented by a Int + * + * Userbuffer size assumes int N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 32 will be represented by (2 * 3) * 4 = 24 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingIntN_Create(uint8_t bWidth); + +/** + * @brief Copy Constructor for UserBufferEncodingIntN + * + * An encoding type where each element is represented by a Int + * + * Userbuffer size assumes int N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 32 will be represented by (2 * 3) * 4 = 24 bytes in memory). + * @param otherHandle the UserBufferEncodingIntN to copy + * @return a handle to a newly constructed UserBufferEncodingIntN + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingIntN_CreateCopy(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Destroys the encodingIntN + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingIntN_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingIntN_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Get the int type corresponding to a given bitwidth + * + * @param width bitwidth of int type + * + * @return ElementType corresponding to a int of width bits + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_UserBufferEncodingIntN_GetTypeFromWidth(uint8_t bWidth); + +// Encoding Uint N +/** + * @brief . + * + * An encoding type where each element is represented by a Uint + * + * Userbuffer size assumes uint N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 32 will be represented by (2 * 3) * 4 = 24 bytes in memory). + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingUintN_Create(uint8_t bWidth); + +/** + * @brief Copy Constructor for UserBufferEncodingUintN + * + * An encoding type where each element is represented by a Uint + * + * Userbuffer size assumes uint N encoding for each element. + * (i.e., a tensor with dimensions (2,3) with a provided bitwidth of 32 will be represented by (2 * 3) * 4 = 24 bytes in memory). + * @param otherHandle the UserBufferEncodingUintN to copy + * @return a handle to a newly constructed UserBufferEncodingUintN + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingUintN_CreateCopy(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Destroys the encodingUintN + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingUintN_Delete(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferEncodingHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingUintN_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Get the uint type corresponding to a given bitwidth + * + * @param width bitwidth of uint type + * + * @return ElementType corresponding to a uint of width bits + */ +SNPE_API +Snpe_UserBufferEncoding_ElementType_t Snpe_UserBufferEncodingUintN_GetTypeFromWidth(uint8_t bWidth); + + +// Encoding Bool +/** + * @brief . + * + * An encoding type where each element is represented by a Bool + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingBool_Create(uint8_t bWidth); + +/** + * @brief Copy Constructor for UserBufferEncodingBool + * + * An encoding type where each element is represented by a bool + * + * @param otherHandle the UserBufferEncodingBool to copy + * @return a handle to a newly constructed UserBufferEncodingBool + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_UserBufferEncodingBool_CreateCopy(Snpe_UserBufferEncoding_Handle_t userBufferEncodingHandle); + +/** + * @brief Destroys the encodingBool + * + * @param[in] userBufferHandle : Handle to access the encoding + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferEncodingBool_Delete(Snpe_UserBufferEncoding_Handle_t userBufferHandle); + +/** + * @brief Retrieves the size of the element, in bytes. + * + * @param[in] userBufferHandle : Handle to access the encoding + * + * @return Size of the element, in bytes. + */ +SNPE_API +size_t Snpe_UserBufferEncodingBool_GetElementSize(Snpe_UserBufferEncoding_Handle_t userBufferHandle); + + + +/** + * A typedef to indicate a SNPE IUserBuffer handle + * UserBuffer contains a pointer and info on how to walk it and interpret its content. + */ +typedef void* Snpe_IUserBuffer_Handle_t; + +/** + * Destroys/frees an IUserBuffer + * + * @param[in] userBufferHandle : Handle to access the IUserBuffer + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_IUserBuffer_Delete(Snpe_IUserBuffer_Handle_t userBufferHandle); + + +/** + * @brief Retrieves the total number of bytes between elements in each dimension if + * the buffer were to be interpreted as a multi-dimensional array. + * + * @param[in] userBufferHandle : Handle to access the user Buffer + * + * @warning Do not modify the TensorShape returned by reference. Treat it as a const reference. + * + * @return A const reference to the number of bytes between elements in each dimension. + * e.g. A tightly packed tensor of floats with dimensions [4, 3, 2] would + * return strides of [24, 8, 4]. + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_IUserBuffer_GetStrides_Ref(Snpe_IUserBuffer_Handle_t userBufferHandle); + +/** + * @brief Retrieves the size of the buffer, in bytes. + * + * @param[in] userBufferHandle : Handle to access the user Buffer + * + * @return Size of the underlying buffer, in bytes. + */ +SNPE_API +size_t Snpe_IUserBuffer_GetSize(Snpe_IUserBuffer_Handle_t userBufferHandle); + +/** + * @brief Retrieves the size of the inference data in the buffer, in bytes. + * + * The inference results from a dynamic-sized model may not be exactly the same size + * as the UserBuffer provided to SNPE. This function can be used to get the amount + * of output inference data, which may be less or greater than the size of the UserBuffer. + * + * If the inference results fit in the UserBuffer, getOutputSize() would be less than + * or equal to getSize(). But if the inference results were more than the capacity of + * the provided UserBuffer, the results would be truncated to fit the UserBuffer. But, + * getOutputSize() would be greater than getSize(), which indicates a bigger buffer + * needs to be provided to SNPE to hold all of the inference results. + * + * @param[in] userBufferHandle : Handle to access the user Buffer + * + * @return Size required for the buffer to hold all inference results, which can be less + * or more than the size of the buffer, in bytes. + */ +SNPE_API +size_t Snpe_IUserBuffer_GetOutputSize(Snpe_IUserBuffer_Handle_t userBufferHandle); + +/** + * @brief Changes the underlying memory that backs the UserBuffer. + * + * This can be used to avoid creating multiple UserBuffer objects + * when the only thing that differs is the memory location. + * + * @param[in] userBufferHandle : Handle to access the user Buffer + * + * @param[in] buffer : Pointer to the memory location + * + * @return Whether the set succeeds. + */ +SNPE_API +int Snpe_IUserBuffer_SetBufferAddress(Snpe_IUserBuffer_Handle_t userBufferHandle, void* buffer); + +/** + * @brief Gets a reference to the data encoding object of + * the underlying buffer + * + * This is necessary when the UserBuffer is re-used, and the encoding + * parameters can change. For example, each input can be quantized with + * different step sizes. + * + * @param[in] userBufferHandle : Handle to access the user Buffer + * + * @return Data encoding meta-data + */ +SNPE_API +Snpe_UserBufferEncoding_Handle_t Snpe_IUserBuffer_GetEncoding_Ref(Snpe_IUserBuffer_Handle_t userBufferHandle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _IUSER_BUFFER_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.hpp new file mode 100644 index 00000000..727c195b --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBuffer.hpp @@ -0,0 +1,390 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include +#include "TensorShape.hpp" + +#include "DlSystem/IUserBuffer.h" + + +namespace DlSystem { + + +class UserBufferEncoding: public Wrapper { + friend BaseType; + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserBufferEncoding_Delete}; +protected: + UserBufferEncoding(HandleType handle) + : BaseType(handle) + { } +public: + + virtual ~UserBufferEncoding() = default; + + UserBufferEncoding(UserBufferEncoding&& other) noexcept + : BaseType(std::move(other)) + { } + + enum class ElementType_t + { + /// Unknown element type. + UNKNOWN = 0, + + /// Each element is presented by 32-bit float. + FLOAT = 1, + + /// Each element is presented by an unsigned int. + UNSIGNED8BIT = 2, + + /// Each element is presented by 16-bit float. + FLOAT16 = 3, + + /// Each element is presented by an 8-bit quantized value. + TF8 = 10, + + /// Each element is presented by an 16-bit quantized value. + TF16 = 11, + + /// Each element is presented by Int32 + INT32 = 12, + + /// Each element is presented by UInt32 + UINT32 = 13, + + /// Each element is presented by Int8 + INT8 = 14, + + /// Each element is presented by UInt8 + UINT8 = 15, + + /// Each element is presented by Int16 + INT16 = 16, + + /// Each element is presented by UInt16 + UINT16 = 17, + + // Each element is presented by Bool8 + BOOL8 = 18, + + // Each element is presented by Int64 + INT64 = 19, + + // Each element is presented by UInt64 + UINT64 = 20 + }; + + ElementType_t getElementType() const noexcept{ + return static_cast(Snpe_UserBufferEncoding_GetElementType(handle())); + } + + size_t getElementSize() const noexcept{ + return Snpe_UserBufferEncoding_GetElementSize(handle()); + } +}; + + +class UserBufferSource: public Wrapper { + friend BaseType; + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserBufferSource_Delete}; + +public: + enum class SourceType_t + { + /// Unknown buffer source type. + UNKNOWN = 0, + + /// The network inputs are from CPU buffer. + CPU = 1, + + /// The network inputs are from OpenGL buffer. + GLBUFFER = 2 + }; +protected: + UserBufferSource(HandleType handle) + : BaseType(handle) + { } +public: + SourceType_t getSourceType() const noexcept{ + return static_cast(Snpe_UserBufferSource_GetSourceType(handle())); + } + +}; + +class UserBufferSourceGLBuffer : public UserBufferSource{ +public: + UserBufferSourceGLBuffer() + : UserBufferSource(Snpe_UserBufferSourceGLBuffer_Create()) + { } +}; + +class UserBufferEncodingUnsigned8Bit : public UserBufferEncoding{ +public: + using UserBufferEncoding::UserBufferEncoding; + UserBufferEncodingUnsigned8Bit() + : UserBufferEncoding(Snpe_UserBufferEncodingUnsigned8Bit_Create()) + { } +}; + +class UserBufferEncodingFloatN : public UserBufferEncoding{ +public: + using UserBufferEncoding::UserBufferEncoding; + + UserBufferEncodingFloatN(uint8_t bWidth=32) + : UserBufferEncoding(Snpe_UserBufferEncodingFloatN_Create(bWidth)) + { } + + UserBufferEncodingFloatN(const UserBufferEncodingFloatN& other) + : UserBufferEncoding(Snpe_UserBufferEncodingFloatN_CreateCopy(other.handle())) + { } + + static ElementType_t getTypeFromWidth(uint8_t width){ + return static_cast(Snpe_UserBufferEncodingFloatN_GetTypeFromWidth(width)); + } +}; + +class UserBufferEncodingFloat : public UserBufferEncoding{ +public: + using UserBufferEncoding::UserBufferEncoding; + UserBufferEncodingFloat() + : UserBufferEncoding(Snpe_UserBufferEncodingFloat_Create()) + { } + UserBufferEncodingFloat(const UserBufferEncodingFloat& other) + : UserBufferEncoding(Snpe_UserBufferEncodingFloat_CreateCopy(other.handle())) + { } + + UserBufferEncodingFloat(UserBufferEncodingFloat&& other) noexcept + : UserBufferEncoding(std::move(other)) + { } +}; + + +class UserBufferEncodingTfN : public UserBufferEncoding{ +public: + + using UserBufferEncoding::UserBufferEncoding; + template::value && std::is_floating_point::value, int>::type = 0> + UserBufferEncodingTfN(T stepFor0, U stepSize, uint8_t bWidth=8) + : UserBufferEncoding(Snpe_UserBufferEncodingTfN_Create(stepFor0, stepSize, bWidth)) + { } + + UserBufferEncodingTfN(const UserBufferEncoding& ubEncoding) + : UserBufferEncoding(Snpe_UserBufferEncodingTfN_CreateCopy(getHandle(ubEncoding))) + { } + UserBufferEncodingTfN(const UserBufferEncodingTfN& ubEncoding) + : UserBufferEncoding(Snpe_UserBufferEncodingTfN_CreateCopy(getHandle(ubEncoding))) + { } + + void setStepExactly0(uint64_t stepExactly0){ + Snpe_UserBufferEncodingTfN_SetStepExactly0(handle(), stepExactly0); + } + + void setQuantizedStepSize(const float quantizedStepSize){ + Snpe_UserBufferEncodingTfN_SetQuantizedStepSize(handle(), quantizedStepSize); + } + + uint64_t getStepExactly0() const{ + return Snpe_UserBufferEncodingTfN_GetStepExactly0(handle()); + } + + float getMin() const{ + return Snpe_UserBufferEncodingTfN_GetMin(handle()); + } + float getMax() const{ + return Snpe_UserBufferEncodingTfN_GetMax(handle()); + } + + float getQuantizedStepSize() const{ + return Snpe_UserBufferEncodingTfN_GetQuantizedStepSize(handle()); + } + + static ElementType_t getTypeFromWidth(uint8_t width){ + return static_cast(Snpe_UserBufferEncodingTfN_GetTypeFromWidth(width)); + } +}; + +class UserBufferEncodingIntN : public UserBufferEncoding{ +public: + + UserBufferEncodingIntN(uint8_t bWidth=32) + : UserBufferEncoding(Snpe_UserBufferEncodingIntN_Create(bWidth)) + { } + + UserBufferEncodingIntN(const UserBufferEncoding& ubEncoding) + : UserBufferEncoding(Snpe_UserBufferEncodingIntN_CreateCopy(getHandle(ubEncoding))) + { } + + static ElementType_t getTypeFromWidth(uint8_t width){ + return static_cast(Snpe_UserBufferEncodingIntN_GetTypeFromWidth(width)); + } +}; + + + +class UserBufferEncodingUintN : public UserBufferEncoding{ +public: + + UserBufferEncodingUintN(uint8_t bWidth=32) + : UserBufferEncoding(Snpe_UserBufferEncodingUintN_Create(bWidth)) + { } + + UserBufferEncodingUintN(const UserBufferEncoding& ubEncoding) + : UserBufferEncoding(Snpe_UserBufferEncodingUintN_CreateCopy(getHandle(ubEncoding))) + { } + + static ElementType_t getTypeFromWidth(uint8_t width){ + return static_cast(Snpe_UserBufferEncodingUintN_GetTypeFromWidth(width)); + } +}; + + +class UserBufferEncodingTf8 : public UserBufferEncodingTfN{ +public: + using UserBufferEncodingTfN::UserBufferEncodingTfN; + UserBufferEncodingTf8() = delete; + + template::value && std::is_floating_point::value, int>::type = 0> + UserBufferEncodingTf8(T stepFor0, U stepSize) + : UserBufferEncodingTfN(stepFor0, stepSize, 8) + { } + + UserBufferEncodingTf8(const UserBufferEncoding& ubEncoding) + : UserBufferEncodingTfN(ubEncoding) + { } + +}; + +class UserBufferEncodingBool : public UserBufferEncoding{ +public: + UserBufferEncodingBool(uint8_t bWidth=8) + : UserBufferEncoding(Snpe_UserBufferEncodingBool_Create(bWidth)) + { } + + UserBufferEncodingBool(const UserBufferEncoding& ubEncoding) + : UserBufferEncoding(Snpe_UserBufferEncodingBool_CreateCopy(getHandle(ubEncoding))) + { } +}; + +class IUserBuffer: public Wrapper { + friend BaseType; + using BaseType::BaseType; + static constexpr DeleteFunctionType DeleteFunction{Snpe_IUserBuffer_Delete}; + +public: + const TensorShape& getStrides() const{ + return *makeReference(Snpe_IUserBuffer_GetStrides_Ref(handle())); + } + + size_t getSize() const{ + return Snpe_IUserBuffer_GetSize(handle()); + } + + size_t getOutputSize() const{ + return Snpe_IUserBuffer_GetOutputSize(handle()); + } + + bool setBufferAddress(void* buffer) noexcept{ + return Snpe_IUserBuffer_SetBufferAddress(handle(), buffer); + } + + const UserBufferEncoding& getEncoding() const noexcept{ + auto h = Snpe_IUserBuffer_GetEncoding_Ref(handle()); + switch(Snpe_UserBufferEncoding_GetElementType(h)){ + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNSIGNED8BIT: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT16: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT32: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT16: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT32: + return *makeReference(h); + + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT16: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF8: + return *makeReference(h); + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF16: + return *makeReference(h); + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_BOOL8: + return *makeReference(h); + + default: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNKNOWN: + return *makeReference(h); + } + } + UserBufferEncoding& getEncoding() noexcept{ + auto h = Snpe_IUserBuffer_GetEncoding_Ref(handle()); + switch(Snpe_UserBufferEncoding_GetElementType(h)){ + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNSIGNED8BIT: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT16: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UINT32: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT8: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT16: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_INT32: + return *makeReference(h); + + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_FLOAT16: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF8: + return *makeReference(h); + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_TF16: + return *makeReference(h); + + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_BOOL8: + return *makeReference(h); + + default: + case SNPE_USERBUFFERENCODING_ELEMENTTYPE_UNKNOWN: + return *makeReference(h); + } + } + +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncoding) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferSource) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferSourceGLBuffer) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingUnsigned8Bit) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingFloatN) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingFloat) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingTfN) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingIntN) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingUintN) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferEncodingTf8) + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, IUserBuffer) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBufferFactory.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBufferFactory.hpp new file mode 100644 index 00000000..b3bbb087 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/IUserBufferFactory.hpp @@ -0,0 +1,68 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include + +#include "Wrapper.hpp" +#include "IUserBuffer.hpp" +#include "TensorShape.hpp" + + +#include "SNPE/SNPEUtil.h" + +namespace DlSystem{ + + +// NOTE: These factories use a different handle type because they are singletons +// Never copy this pattern unless you're also implementing a singleton +class IUserBufferFactory : public Wrapper{ + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{NoOpDeleter}; + +public: + IUserBufferFactory() + : BaseType(nullptr) + { } + + std::unique_ptr createUserBuffer(void *buffer, + size_t bufSize, + const TensorShape &strides, + UserBufferEncoding* userBufferEncoding) noexcept{ + if(!userBufferEncoding) return {}; + auto handle = Snpe_Util_CreateUserBuffer(buffer, + bufSize, + getHandle(strides), + getHandle(userBufferEncoding)); + return makeUnique(handle); + } + + std::unique_ptr createUserBuffer(void *buffer, + size_t bufSize, + const TensorShape &strides, + UserBufferEncoding* userBufferEncoding, + UserBufferSource* userBufferSource) noexcept{ + if(!userBufferEncoding || !userBufferSource) return {}; + auto handle = Snpe_Util_CreateUserBufferFromSource(buffer, + bufSize, + getHandle(strides), + getHandle(*userBufferEncoding), + getHandle(*userBufferSource)); + return makeUnique(handle); + } + +}; + + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, IUserBufferFactory) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.h new file mode 100644 index 00000000..15b2a089 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.h @@ -0,0 +1,329 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_PLATFORMCONFIG_H +#define DL_SYSTEM_PLATFORMCONFIG_H + +#include "DlSystem/DlError.h" +#include "DlSystem/DlEnums.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @brief . + * + * A structure OpenGL configuration + * + * @note When certain OpenGL context and display are provided to UserGLConfig for using + * GPU buffer as input directly, the user MUST ensure the particular OpenGL + * context and display remain vaild throughout the execution of neural network models. + */ +typedef void* Snpe_UserGLConfig_Handle_t; + +/** + * @brief . + * + * Creates a new userGLConfig + * + */ +SNPE_API +Snpe_UserGLConfig_Handle_t Snpe_UserGLConfig_Create(); + +/** + * @brief Destroys the userGLConfig + * + * @param[in] handle : Handle to access the userGLConfig + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserGLConfig_Delete(Snpe_UserGLConfig_Handle_t handle); + +/** + * @brief Sets the EGL context + * + * @param[in] handle : Handle to access userGLConfig + * + * @param[in] userGLContext : void pointer + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserGLConfig_SetUserGLContext(Snpe_UserGLConfig_Handle_t handle, void* userGLContext); + +/** + * @brief Sets the EGL Display + * + * @param[in] handle : Handle to access userGLConfig + * + * @param[in] userGLDisplay : void pointer + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserGLConfig_SetUserGLDisplay(Snpe_UserGLConfig_Handle_t handle, void* userGLDisplay); + + +/** + * @brief Get EGL context + * + * @param[in] handle : Handle to access userGLConfig + * + * @return userGLContext of type void pointer + * + */ +SNPE_API +void* Snpe_UserGLConfig_GetUserGLContext(Snpe_UserGLConfig_Handle_t handle); + +/** + * @brief Get EGL Display + * + * @param[in] handle : Handle to access userGLConfig + * + * @return userGLDisplay of type void pointer + * + */ +SNPE_API +void* Snpe_UserGLConfig_GetUserGLDisplay(Snpe_UserGLConfig_Handle_t handle); + + +/** + * @brief . + * + * A structure Gpu configuration + */ +typedef void* Snpe_UserGpuConfig_Handle_t; + +/** + * @brief . + * + * Creates a new userGpuConfig + * + */ +SNPE_API +Snpe_UserGpuConfig_Handle_t Snpe_UserGpuConfig_Create(); + +/** + * @brief Destroys the userGpuConfig + * + * @param[in] handle : Handle to access userGLConfig + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserGpuConfig_Delete(Snpe_UserGpuConfig_Handle_t handle); + +/** + * @brief Set the userGpuConfig + * + * @param[in] handle : Handle to access userGpuConfig + * + * @param[in] glHandle : Handle needed to access userGlConfig + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +void Snpe_UserGpuConfig_Set(Snpe_UserGpuConfig_Handle_t handle, Snpe_UserGLConfig_Handle_t glHandle); + +/** + * @brief Get the userGpuConfig + * + * @param[in] handle : Handle to access userGpuConfig + * + * @return Handle needed to access userGlConfig + */ +SNPE_API +Snpe_UserGLConfig_Handle_t Snpe_UserGpuConfig_Get_Ref(Snpe_UserGpuConfig_Handle_t handle); + + + +/** + * A typedef to indicate a SNPE PlatformConfig handle + */ +typedef void* Snpe_PlatformConfig_Handle_t; + + +/** + * @brief . + * + * Creates a new PlatformConfig + * + */ +SNPE_API +Snpe_PlatformConfig_Handle_t Snpe_PlatformConfig_Create(); + + +/** + * @brief Copy-Construct a PlatformConfig from another PlatformConfig + * + * @param[in] otherHandle Handle to the other PlatformConfig + * + * @return Handle to the Copy-Constructed PlatformConfig + */ +SNPE_API +Snpe_PlatformConfig_Handle_t Snpe_PlatformConfig_CreateCopy(Snpe_PlatformConfig_Handle_t otherHandle); + +/** + * @brief Destroys the PlatformConfig + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PlatformConfig_Delete(Snpe_PlatformConfig_Handle_t handle); + + +typedef enum +{ + /// Unknown platform type. + SNPE_PLATFORMCONFIG_PLATFORMTYPE_UNKNOWN = 0, + + /// Snapdragon CPU. + SNPE_PLATFORMCONFIG_PLATFORMTYPE_CPU = 1, + + /// Adreno GPU. + SNPE_PLATFORMCONFIG_PLATFORMTYPE_GPU = 2, + + /// Hexagon DSP. + SNPE_PLATFORMCONFIG_PLATFORMTYPE_DSP = 3 +} Snpe_PlatformConfig_PlatformType_t; + + +/** + * @brief Retrieves the platform type + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return Platform type + */ +SNPE_API +Snpe_PlatformConfig_PlatformType_t Snpe_PlatformConfig_GetPlatformType(Snpe_PlatformConfig_Handle_t handle); + +/** + * @brief Indicates whther the plaform configuration is valid. + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return 1 if the platform configuration is valid; 0 otherwise. + */ +SNPE_API +int Snpe_PlatformConfig_IsValid(Snpe_PlatformConfig_Handle_t handle); + +/** + * @brief Retrieves the Gpu configuration + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return userGpuConfig populated with the Gpu configuration. + * + */ +SNPE_API +Snpe_UserGpuConfig_Handle_t Snpe_PlatformConfig_GetUserGpuConfig(Snpe_PlatformConfig_Handle_t handle); + +/** + * @brief Sets the Gpu configuration + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @param[in] gpuHandle : Gpu Configuration handle + * + * @return 1 if Gpu configuration was successfully set; 0 otherwise. + */ +SNPE_API +int Snpe_PlatformConfig_SetUserGpuConfig(Snpe_PlatformConfig_Handle_t handle, Snpe_UserGpuConfig_Handle_t gpuHandle); + +/** + * @brief Sets the platform options + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @param[in] options : Options as a const char* in the form of "keyword:options" + * + * @return 1 if options are pass validation; otherwise 0. If false, the options are not updated. + */ +SNPE_API +int Snpe_PlatformConfig_SetPlatformOptions(Snpe_PlatformConfig_Handle_t handle, const char* options); + +/** + * @brief Indicates whther the plaform configuration is valid. + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return 1 if the platform configuration is valid; 0 otherwise. + */ +SNPE_API +int Snpe_PlatformConfig_IsOptionsValid(Snpe_PlatformConfig_Handle_t handle); + +/** + * @brief Gets the platform options + * + * @param[in] handle : Handle needed to access the platformConfig + * + * @return Options as a const char* + */ +SNPE_API +const char* Snpe_PlatformConfig_GetPlatformOptions(Snpe_PlatformConfig_Handle_t handle); + +/** + * @brief Sets the platform options + * + * @note the returned string will be invalidated by subsequent calls to this function + * + * @param[in] handle : Handle needed to access the platformConfig + * @param[in] optionName : Name of platform options" + * @param[in] value : Value of specified optionName + * + * @return If 1, add "optionName:value" to platform options if optionName don't exist, otherwise update the + * value of specified optionName. + * If 0, the platform options will not be changed. + */ +SNPE_API +int Snpe_PlatformConfig_SetPlatformOptionValue(Snpe_PlatformConfig_Handle_t handle, const char* optionName, const char* value); + +/** + * @brief Removes the platform options + * + * @param[in] handle : Handle needed to access the platformConfig + * @param[in] optionName : Name of platform options" + * @param[in] value : Value of specified optionName + * + * @return If 1, removed "optionName:value" to platform options if optionName don't exist, do nothing. + * If 0, the platform options will not be changed. + */ +SNPE_API +int Snpe_PlatformConfig_RemovePlatformOptionValue(Snpe_PlatformConfig_Handle_t handle, const char* optionName, const char* value); + +SNPE_API +void Snpe_PlatformConfig_SetIsUserGLBuffer(int isUserGLBuffer); + +SNPE_API +int Snpe_PlatformConfig_GetIsUserGLBuffer(); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_PLATFORMCONFIG_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.hpp new file mode 100644 index 00000000..5995c51b --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/PlatformConfig.hpp @@ -0,0 +1,265 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include "DlSystem/PlatformConfig.h" + +namespace DlSystem { + +struct UserGLConfig +{ + /// Holds user EGL context. + /// + void* userGLContext = nullptr; + + /// Holds user EGL display. + void* userGLDisplay = nullptr; +}; + +struct UserGpuConfig{ + /// Holds user OpenGL configuration. + /// + UserGLConfig userGLConfig; +}; + +class PlatformConfig : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_PlatformConfig_Delete}; + + class UserGLConfigInternal : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserGLConfig_Delete}; + + public: + UserGLConfigInternal() + : BaseType(Snpe_UserGLConfig_Create()) + { } + UserGLConfigInternal(const UserGLConfig& uglc) + : UserGLConfigInternal() + { + setUserGLContext(uglc.userGLContext); + setUserGLDisplay(uglc.userGLDisplay); + } + void setUserGLContext(void* userGLContext){ + Snpe_UserGLConfig_SetUserGLContext(handle(), userGLContext); + } + void setUserGLDisplay(void* userGLDisplay){ + Snpe_UserGLConfig_SetUserGLDisplay(handle(), userGLDisplay); + } + + void* getUserGLContext(){ + return Snpe_UserGLConfig_GetUserGLContext(handle()); + } + void* getUserGLDisplay(){ + return Snpe_UserGLConfig_GetUserGLDisplay(handle()); + } + }; + + + + class UserGpuConfigInternal : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserGpuConfig_Delete}; + + public: + UserGpuConfigInternal() + : BaseType(Snpe_UserGpuConfig_Create()) + { } + + void set(const UserGLConfig& userGLConfig){ + UserGLConfigInternal uglc(userGLConfig); + Snpe_UserGpuConfig_Set(handle(), getHandle(uglc)); + } + + void get(UserGLConfig& uglc){ + UserGLConfigInternal uglci(moveHandle(Snpe_UserGpuConfig_Get_Ref(handle()), true)); + + uglc.userGLContext = uglci.getUserGLContext(); + uglc.userGLDisplay = uglci.getUserGLDisplay(); + } + + }; +public: + + /** + * @brief . + * + * An enum class of all supported platform types + */ + enum class PlatformType_t + { + /// Unknown platform type. + UNKNOWN = 0, + + /// Snapdragon CPU. + CPU = 1, + + /// Adreno GPU. + GPU = 2, + + /// Hexagon DSP. + DSP = 3 + }; + + /** + * @brief . + * + * A union class user platform configuration information + */ + struct PlatformConfigInfo + { + /// Holds user GPU Configuration. + /// + UserGpuConfig userGpuConfig; + + }; + + ~PlatformConfig() = default; + + PlatformConfig() + : BaseType(Snpe_PlatformConfig_Create()) + { } + + PlatformConfig(const PlatformConfig& other) + : BaseType(Snpe_PlatformConfig_CreateCopy(other.handle())) + { } + + /** + * @brief Retrieves the platform type + * + * @return Platform type + */ + PlatformType_t getPlatformType() const{ + return static_cast(Snpe_PlatformConfig_GetPlatformType(handle())); + }; + + /** + * @brief Indicates whther the plaform configuration is valid. + * + * @return True if the platform configuration is valid; false otherwise. + */ + bool isValid() const{ + return Snpe_PlatformConfig_IsValid(handle()); + }; + + /** + * @brief Retrieves the Gpu configuration + * + * @param[out] userGpuConfig The passed in userGpuConfig populated with the Gpu configuration on return. + * + * @return True if Gpu configuration was retrieved; false otherwise. + */ + bool getUserGpuConfig(UserGpuConfig& userGpuConfig) const{ + auto platformType = static_cast(Snpe_PlatformConfig_GetPlatformType(handle())); + if(platformType != PlatformType_t::GPU) return false; + + UserGpuConfigInternal gpuConf(moveHandle(Snpe_PlatformConfig_GetUserGpuConfig(handle()))); + + gpuConf.get(userGpuConfig.userGLConfig); + return true; + } + + /** + * @brief Sets the Gpu configuration + * + * @param[in] userGpuConfig Gpu Configuration + * + * @return True if Gpu configuration was successfully set; false otherwise. + */ + bool setUserGpuConfig(UserGpuConfig& userGpuConfig){ + UserGpuConfigInternal gpuConf; + gpuConf.set(userGpuConfig.userGLConfig); + return Snpe_PlatformConfig_SetUserGpuConfig(handle(), getHandle(gpuConf)); + } + + /** + * @brief Sets the platform options + * + * @param[in] options Options as a string in the form of "keyword:options" + * + * @return True if options are pass validation; otherwise false. If false, the options are not updated. + */ + bool setPlatformOptions(const std::string& options){ + return Snpe_PlatformConfig_SetPlatformOptions(handle(), options.c_str()); + } + + /** + * @brief Indicates whther the plaform configuration is valid. + * + * @return True if the platform configuration is valid; false otherwise. + */ + bool isOptionsValid() const{ + return Snpe_PlatformConfig_IsOptionsValid(handle()); + } + + /** + * @brief Gets the platform options + * + * @return Options as a string + */ + std::string getPlatformOptions() const { + return Snpe_PlatformConfig_GetPlatformOptions(handle()); + } + + /** + * @brief Sets the platform options + * + * @param[in] optionName Name of platform options" + * @param[in] value Value of specified optionName + * + * @return If true, add "optionName:value" to platform options if optionName don't exist, otherwise update the + * value of specified optionName. + * If false, the platform options will not be changed. + */ + bool setPlatformOptionValue(const std::string& optionName, const std::string& value){ + return Snpe_PlatformConfig_SetPlatformOptionValue(handle(), optionName.c_str(), value.c_str()); + } + + /** + * @brief Removes the platform options + * + * @param[in] optionName Name of platform options" + * @param[in] value Value of specified optionName + * + * @return If true, removed "optionName:value" to platform options if optionName don't exist, do nothing. + * If false, the platform options will not be changed. + */ + bool removePlatformOptionValue(const std::string& optionName, const std::string& value){ + return Snpe_PlatformConfig_RemovePlatformOptionValue(handle(), optionName.c_str(), value.c_str()); + } + + static void SetIsUserGLBuffer(bool isUserGLBuffer){ + Snpe_PlatformConfig_SetIsUserGLBuffer(isUserGLBuffer); + } + static bool GetIsUserGLBuffer(){ + return Snpe_PlatformConfig_GetIsUserGLBuffer(); + } + +}; + + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserGLConfig) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserGpuConfig) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, PlatformConfig) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.h new file mode 100644 index 00000000..2b699a7a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.h @@ -0,0 +1,203 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_RUNTIME_LIST_H +#define DL_SYSTEM_RUNTIME_LIST_H + +#include + +#include "DlSystem/DlEnums.h" +#include "DlSystem/DlError.h" + +#include "StringList.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE RuntimeList handle + */ +typedef void* Snpe_RuntimeList_Handle_t; + +/** + * @brief . + * + * Creates a new runtime list + * + */ +SNPE_API +Snpe_RuntimeList_Handle_t Snpe_RuntimeList_Create(); + + +/** + * Copy-Constructs a RuntimeList and returns a handle to it + * + * @param runtimeListHandle the other RuntimeList to copy + * + * @return the handle to the created RuntimeList + */ +SNPE_API +Snpe_RuntimeList_Handle_t Snpe_RuntimeList_CreateCopy(Snpe_RuntimeList_Handle_t runtimeListHandle); + +/** + * @brief Destroys the RuntimeList + * + * @param[in] runtimeListHandle : Handle needed to access the runtimeList + * + * @return Error code. Returns SNPE_SUCCESS if destruction successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_Delete(Snpe_RuntimeList_Handle_t runtimeListHandle); + +/** + * Copy-assigns the contents of srcHandle into dstHandle + * + * @param src Source RuntimeList handle + * + * @param dst Destination RuntimeList handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_Assign(Snpe_RuntimeList_Handle_t src, Snpe_RuntimeList_Handle_t dst); + +/** + * @brief Returns the Runtime from list at position index + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @param[in] index : position in runtimeList + * + * @return The Runtime from list at position index + */ +SNPE_API +Snpe_Runtime_t Snpe_RuntimeList_GetRuntime(Snpe_RuntimeList_Handle_t runtimeListHandle, int index); + +/** + * @brief Set the Runtime of the list at position index + * + * @param[in] runtimeListHandle : Handle needed to access the runtimeList + * + * @param[in] index : position in runtimeList + * + * @param[in] runtime : The Runtime to assign to position index + * + * @return SNPE_SUCCESS on success + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_SetRuntime(Snpe_RuntimeList_Handle_t runtimeListHandle, size_t index, Snpe_Runtime_t runtime); + +/** + * @brief Adds runtime to the end of the runtime list + * order of precedence is former followed by latter entry + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @param[in] runtime to add + * + * @return Error code. Ruturns SNPE_SUCCESS If the runtime added successfully + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_Add(Snpe_RuntimeList_Handle_t runtimeListHandle, Snpe_Runtime_t runtime); + +/** + * @brief Removes the runtime from the list + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @param[in] runtime to be removed + * + * @return Error code. Ruturns SNPE_SUCCESS If the runtime removed successfully + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_Remove(Snpe_RuntimeList_Handle_t runtimeListHandle, Snpe_Runtime_t runtime) ; + +/** + * @brief Returns the number of runtimes in the list + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @return number of entries in the runtimeList. + */ +SNPE_API +size_t Snpe_RuntimeList_Size(Snpe_RuntimeList_Handle_t runtimeListHandle) ; + +/** + * @brief Returns 1 if the list is empty + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @return 1 if list empty, 0 otherwise. + */ +SNPE_API +int Snpe_RuntimeList_Empty(Snpe_RuntimeList_Handle_t runtimeListHandle) ; + +/** + * @brief . + * + * Removes all runtime from the list + * + * @param[in] runtimeListHandle: Handle needed to access the runtimeList + * + * @return Error code. Returns SNPE_SUCCESS if runtime list is cleared successfully. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeList_Clear(Snpe_RuntimeList_Handle_t runtimeListHandle); + +/** + * @brief Get a StringList of names from the runtime list in order of precedence + * + * @param runtimeListHandle Handle to a RuntimeList + * + * @return Handle to a StringList + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_RuntimeList_GetRuntimeListNames(Snpe_RuntimeList_Handle_t runtimeListHandle); + +/** + * @brief . + * + * @param[in] runtime const char* + * Returns a Runtime enum corresponding to the in param string + * + */ +SNPE_API +Snpe_Runtime_t Snpe_RuntimeList_StringToRuntime(const char* str); + +/** + * @brief . + * + * @param[in] runtime + * Returns a const char* corresponding to the in param runtime enum + * + */ +SNPE_API +const char* Snpe_RuntimeList_RuntimeToString(Snpe_Runtime_t runtime); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_RUNTIME_LIST_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.hpp new file mode 100644 index 00000000..a2abf2b7 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/RuntimeList.hpp @@ -0,0 +1,115 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "StringList.hpp" +#include "DlEnums.hpp" +#include "DlSystem/RuntimeList.h" + + + + + + +namespace DlSystem { + +class RuntimeList : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_RuntimeList_Delete}; + + static Runtime_t GetRuntime(HandleType handle, size_t idx){ + return static_cast(Snpe_RuntimeList_GetRuntime(handle, int(idx))); + } + static Snpe_ErrorCode_t SetRuntime(HandleType handle, size_t idx, Runtime_t runtime){ + return Snpe_RuntimeList_SetRuntime(handle, idx, static_cast(runtime)); + } + +private: + using RuntimeReference = WrapperDetail::MemberIndexedReference; + friend RuntimeReference; + +public: + + RuntimeList() + : BaseType(Snpe_RuntimeList_Create()) + { } + RuntimeList(const RuntimeList& other) + : BaseType(Snpe_RuntimeList_CreateCopy(other.handle())) + { } + RuntimeList(RuntimeList&& other) noexcept + : BaseType(std::move(other)) + { } + + RuntimeList(const Runtime_t& runtime) + : BaseType(Snpe_RuntimeList_Create()) + { + Snpe_RuntimeList_Add(handle(), static_cast(runtime)); + } + + RuntimeList& operator=(const RuntimeList& other){ + if(this != &other){ + Snpe_RuntimeList_Assign(other.handle(), handle()); + } + return *this; + } + + RuntimeList& operator=(RuntimeList&& other) noexcept{ + return moveAssign(std::move(other)); + } + + Runtime_t operator[](size_t idx) const{ + return GetRuntime(handle(), idx); + } + + RuntimeReference operator[](size_t idx) noexcept{ + return {*this, idx}; + } + + bool add(const Runtime_t& runtime){ + return SNPE_SUCCESS == Snpe_RuntimeList_Add(handle(), static_cast(runtime)); + } + + void remove(Runtime_t runtime) noexcept{ + Snpe_RuntimeList_Remove(handle(), static_cast(runtime)); + } + + size_t size() const noexcept{ + return Snpe_RuntimeList_Size(handle()); + } + + bool empty() const noexcept{ + return Snpe_RuntimeList_Empty(handle()); + } + + void clear() noexcept{ + Snpe_RuntimeList_Clear(handle()); + } + + StringList getRuntimeListNames() const{ + return moveHandle(Snpe_RuntimeList_GetRuntimeListNames(handle())); + } + + static Runtime_t stringToRuntime(const char* runtimeStr){ + return static_cast(Snpe_RuntimeList_StringToRuntime(runtimeStr)); + } + static const char* runtimeToString(Runtime_t runtime){ + return Snpe_RuntimeList_RuntimeToString(static_cast(runtime)); + } + +}; + + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, RuntimeList) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/SnpeApiExportDefine.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/SnpeApiExportDefine.h new file mode 100644 index 00000000..62c6718f --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/SnpeApiExportDefine.h @@ -0,0 +1,34 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +// Macro controlling visibility of SNPE API + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef SNPE_API +#define SNPE_API +#endif + +#ifdef __cplusplus +} // extern "C" +#endif diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/String.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/String.hpp new file mode 100644 index 00000000..85b2ef22 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/String.hpp @@ -0,0 +1,70 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + + +#include + + +#include "Wrapper.hpp" + +namespace DlSystem{ + + +// Just a backwards compatible wrapper for std::string +class String{ +public: + String() = delete; + explicit String(const std::string& str) + : m_String(str) + { } + explicit String(std::string&& str) noexcept + : m_String(std::move(str)) + { } + + explicit String(const char* str) + : m_String(str) + { } + + String(String&& other) noexcept = default; + String(const String& other) = delete; + + + String& operator=(String&& other) noexcept = default; + String& operator=(const String& other) = delete; + + bool operator<(const String& rhs) const noexcept{ return m_String < rhs.m_String; } + bool operator>(const String& rhs) const noexcept{ return m_String > rhs.m_String; } + bool operator<=(const String& rhs) const noexcept{ return m_String <= rhs.m_String; } + bool operator>=(const String& rhs) const noexcept{ return m_String >= rhs.m_String; } + bool operator==(const String& rhs) const noexcept{ return m_String == rhs.m_String; } + bool operator!=(const String& rhs) const noexcept{ return m_String != rhs.m_String; } + + + bool operator<(const std::string& rhs) const noexcept{ return m_String < rhs; } + bool operator>(const std::string& rhs) const noexcept{ return m_String > rhs; } + bool operator<=(const std::string& rhs) const noexcept{ return m_String <= rhs; } + bool operator>=(const std::string& rhs) const noexcept{ return m_String >= rhs; } + bool operator==(const std::string& rhs) const noexcept{ return m_String == rhs; } + bool operator!=(const std::string& rhs) const noexcept{ return m_String != rhs; } + + + const char* c_str() const noexcept{ return m_String.c_str(); } + + explicit operator std::string&() noexcept{ return m_String; } + explicit operator const std::string&() const noexcept{ return m_String; } + +private: + std::string m_String; +}; + + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, String) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.h new file mode 100644 index 00000000..faa793b3 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.h @@ -0,0 +1,154 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_STRING_LIST_H +#define DL_SYSTEM_STRING_LIST_H + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A typedef to indicate a SNPE StringList handle + */ +typedef void* Snpe_StringList_Handle_t; + +/** + * Constructs a StringList and returns a handle to it + * + * @return the handle to the created StringList + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_StringList_Create(); + +/** + * Constructs a StringList and returns a handle to it + * + * @param[in] size : size of list + * + * @return the handle to the created StringList + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_StringList_CreateSize(size_t size); + +/** + * Constructs a StringList and returns a handle to it + * + * @param[in] other : StringList handle to be copied from + * + * @return the handle to the created StringList + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_StringList_CreateCopy(Snpe_StringList_Handle_t other); + +/** + * Destroys/frees a StringList + * + * @param[in] stringListHandle : Handle to access the stringList + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_StringList_Delete(Snpe_StringList_Handle_t stringListHandle); + + +/** + * Append a string to the list. + * + * @param[in] stringListHandle : Handle to access the stringList + * @param[in] str Null-terminated ASCII string to append to the list. + * + * @return SNPE_SUCCESS if Append operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_StringList_Append(Snpe_StringList_Handle_t stringListHandle, const char* string); + +/** + * Returns the string at the indicated position, + * or an empty string if the positions is greater than the size + * of the list. + * + * @param[in] stringListHandle : Handle to access the stringList + * @param[in] idx Position in the list of the desired string + * + * @return the string at the indicated position + */ +SNPE_API +const char* Snpe_StringList_At(Snpe_StringList_Handle_t stringListHandle, size_t idx); + +/** + * Pointer to the first string in the list. + * Can be used to iterate through the list. + * + * @param[in] stringListHandle : Handle to access the stringList + * + * @return Pointer to the first string in the list. + */ +SNPE_API +const char** Snpe_StringList_Begin(Snpe_StringList_Handle_t stringListHandle); + +/** + * Pointer to one after the last string in the list. + * Can be used to iterate through the list. + * + * @param[in] stringListHandle : Handle to access the stringList + * + * @return Pointer to one after the last string in the list + */ +SNPE_API +const char** Snpe_StringList_End(Snpe_StringList_Handle_t stringListHandle); + +/** + * Return the number of valid string pointers held by this list. + * + * @param[in] stringListHandle : Handle to access the stringList + * + * @return The size of the StringList + */ +SNPE_API +size_t Snpe_StringList_Size(Snpe_StringList_Handle_t stringListHandle); + +/** + * Copy-assigns the contents of src into dst + * + * @param src Source StringList handle + * @param dst Destination StringList handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_StringList_Assign(Snpe_StringList_Handle_t src, Snpe_StringList_Handle_t dst); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_STRING_LIST_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.hpp new file mode 100644 index 00000000..2fd84bf1 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/StringList.hpp @@ -0,0 +1,73 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "DlSystem/DlError.hpp" + +#include "DlSystem/StringList.h" + + +namespace DlSystem { + +class StringList : public Wrapper{ + friend BaseType; + using BaseType::BaseType; + static constexpr DeleteFunctionType DeleteFunction = Snpe_StringList_Delete; + +public: + StringList() + : BaseType(Snpe_StringList_Create()) + { } + explicit StringList(size_t length) + : BaseType(Snpe_StringList_CreateSize(length)) + { } + StringList(const StringList& other) + : BaseType(Snpe_StringList_CreateCopy(other.handle())) + { } + StringList(StringList&& other) noexcept + : BaseType(std::move(other)) + { } + + + StringList& operator=(const StringList& other){ + if(this != &other){ + Snpe_StringList_Assign(other.handle(), handle()); + } + return *this; + } + StringList& operator=(StringList&& other) noexcept{ + return moveAssign(std::move(other)); + } + + + DlSystem::ErrorCode append(const char* str){ + return static_cast(Snpe_StringList_Append(handle(), str)); + } + + const char* at(size_t idx) const noexcept{ + return Snpe_StringList_At(handle(), idx); + } + + const char** begin() const noexcept{ + return Snpe_StringList_Begin(handle()); + } + const char** end() const noexcept{ + return Snpe_StringList_End(handle()); + } + + size_t size() const noexcept{ + return Snpe_StringList_Size(handle()); + } + +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, StringList) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.h new file mode 100644 index 00000000..aa367eda --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.h @@ -0,0 +1,154 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_TENSORMAP_H +#define DL_SYSTEM_TENSORMAP_H + +#include "DlSystem/ITensor.h" +#include "DlSystem/StringList.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A typedef to indicate a SNPE Tensor Map handle + */ +typedef void* Snpe_TensorMap_Handle_t; + + +/** + * Constructs a TensorMap and returns a handle to it + * + * @return the handle to the created TensorMap + */ +SNPE_API +Snpe_TensorMap_Handle_t Snpe_TensorMap_Create(); + + +/** + * Copy-Constructs a TensorMap and returns a handle to it + * + * @param tensorMapHandle the other TensorMap to copy + * + * @return the handle to the created TensorMap + */ +SNPE_API +Snpe_TensorMap_Handle_t Snpe_TensorMap_CreateCopy(Snpe_TensorMap_Handle_t tensorMapHandle); + +/** + * Copy-assigns the contents of srcHandle into dstHandle + * + * @param src Source TensorMap handle + * + * @param dst Destination TensorMap handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorMap_Assign(Snpe_TensorMap_Handle_t srcHandle, Snpe_TensorMap_Handle_t dstHandle); + + +/** + * Destroys/frees Tensor Map + * + * @param[in] handle : handle to tensorMap + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorMap_Delete(Snpe_TensorMap_Handle_t handle); + +/** + * @brief Adds a name and the corresponding tensor pointer + * to the map + * + * @param[in] handle : Handle to tensorMap + * @param[in] name : The name of the tensor + * @param[in] tensorHandle : Handle to access ITensor + * + * @note If a tensor with the same name already exists, the + * tensor is replaced with the existing tensor. + */ +SNPE_API +void Snpe_TensorMap_Add(Snpe_TensorMap_Handle_t handle, const char *name, Snpe_ITensor_Handle_t tensorHandle); + +/** + * @brief Removes a mapping of tensor and its name by its name + * + * @param[in] handle : Handle to tensorMap + * @param[in] name : The name of tensor to be removed + * + * @note If no tensor with the specified name is found, nothing + * is done. + */ +SNPE_API +void Snpe_TensorMap_Remove(Snpe_TensorMap_Handle_t handle, const char *name); + +/** + * @brief Returns the number of tensors in the map + * + * @param[in] handle : Handle to tensorMap + * + * @return Number of tensors in the map + */ +SNPE_API +size_t Snpe_TensorMap_Size(Snpe_TensorMap_Handle_t handle); + +/** + * @brief . + * + * @param[in] handle : Handle to tensorMap + * Removes all tensors from the map + */ +SNPE_API +void Snpe_TensorMap_Clear(Snpe_TensorMap_Handle_t handle); + +/** + * @brief Returns the tensor given its name. + * + * @param[in] handle : Handle to tensorMap + * @param[in] name : The name of the tensor to get. + * + * @return nullptr if no tensor with the specified name is + * found; otherwise, a valid pointer to the tensor. + */ +SNPE_API +Snpe_ITensor_Handle_t Snpe_TensorMap_GetTensor_Ref(Snpe_TensorMap_Handle_t handle, const char *name); + +/** + * @brief . + * + * @param[in] handle : Handle to tensorMap + * + * @return A StringList of the names of all tensors + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_TensorMap_GetTensorNames(Snpe_TensorMap_Handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_TENSOR_MAP_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.hpp new file mode 100644 index 00000000..20a6c21f --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorMap.hpp @@ -0,0 +1,81 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "DlSystem/ITensor.hpp" +#include "DlSystem/StringList.hpp" +#include "DlSystem/DlError.hpp" + +#include "DlSystem/TensorMap.h" + +namespace DlSystem { + +class TensorMap : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_TensorMap_Delete}; +public: + + TensorMap() + : BaseType(Snpe_TensorMap_Create()) + { } + + TensorMap(const TensorMap& other) + : BaseType(Snpe_TensorMap_CreateCopy(other.handle())) + { } + + TensorMap(TensorMap&& other) noexcept + : BaseType(std::move(other)) + { } + + TensorMap& operator=(const TensorMap& other){ + if(this != &other){ + Snpe_TensorMap_Assign(other.handle(), handle()); + } + return *this; + } + TensorMap& operator=(TensorMap&& other) noexcept{ + return moveAssign(std::move(other)); + } + + DlSystem::ErrorCode add(const char* name, ITensor* tensor){ + if(!tensor) return DlSystem::ErrorCode::SNPE_CAPI_BAD_ARGUMENT; + Snpe_TensorMap_Add(handle(), name, getHandle(*tensor)); + return DlSystem::ErrorCode::NONE; + } + + void remove(const char* name) noexcept{ + Snpe_TensorMap_Remove(handle(), name); + } + + size_t size() const noexcept{ + return Snpe_TensorMap_Size(handle()); + } + + void clear() noexcept{ + Snpe_TensorMap_Clear(handle()); + } + + + ITensor* getTensor(const char* name) const noexcept{ + return makeReference(Snpe_TensorMap_GetTensor_Ref(handle(), name)); + } + + StringList getTensorNames() const{ + return moveHandle(Snpe_TensorMap_GetTensorNames(handle())); + } + +}; + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, TensorMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.h new file mode 100644 index 00000000..1fde628c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.h @@ -0,0 +1,174 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_TENSOR_SHAPE_H +#define DL_SYSTEM_TENSOR_SHAPE_H + +#include + +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE TensorShape handle + */ +typedef void* Snpe_TensorShape_Handle_t; + + +/** + * @brief . + * + * Creates a new shape with a list of dims specified in array + * + * @param[in] dims The dimensions are specified in which the last + * element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying, etc. + * + * @param[in] size Size of the array. + * + * @return the handle to the created TensorShape + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_TensorShape_CreateDimsSize(const size_t *dims, size_t size); + +/** + * Constructs a TensorShape and returns a handle to it + * + * @return the handle to the created TensorShape + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_TensorShape_Create(); + +/** + * @brief . + * + * copy constructor. + * @param[in] other object to copy. + * + * @return the handle to the created TensorShape. + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_TensorShape_CreateCopy(Snpe_TensorShape_Handle_t other); + +/** + * Destroys/frees Tensor Shape + * + * @param[in] handle : handle to tensorShape + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShape_Delete(Snpe_TensorShape_Handle_t tensorShapeHandle); + +/** + * Copy-assigns the contents of srcHandle into dstHandle + * + * @param srcHandle Source TensorShape handle + * @param dstHandle Destination TensorShape handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShape_Assign(Snpe_TensorShape_Handle_t srcHandle, Snpe_TensorShape_Handle_t dstHandle); + +/** + * @brief . + * + * Concatenates additional dimensions specified in + * the array to the existing dimensions. + * + * @param[in] handle : handle to tensorShape + * @param[in] dims The dimensions are specified in which the last + * element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying, etc. + * + * @param[in] size Size of the array. + * + */ +SNPE_API +void Snpe_TensorShape_Concatenate(Snpe_TensorShape_Handle_t tensorShape, const size_t *dims, size_t size); + +/** + * @brief . + * + * @param[in] handle : handle to tensorShape + * + * Retrieves the rank i.e. number of dimensions. + * + * @return The rank + */ +SNPE_API +size_t Snpe_TensorShape_Rank(Snpe_TensorShape_Handle_t tensorShape); + +/** + * @brief . + * + * @param[in] handle : handle to tensorShape + * + * @param[in] index : Position in the dimension array. + * + * @return The dimension value in tensor shape + */ +SNPE_API +size_t Snpe_TensorShape_At(Snpe_TensorShape_Handle_t tensorShapeHandle, size_t index); + +/** + * @brief Set a value in a TensorShape at the provided index + * + * @param[in] handle : handle to tensorShape + * + * @param[in] index : Position in the dimension array. + * + * @param[in] value : Dimension value to set + * + * @return SNPE_SUCCESS on success + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShape_Set(Snpe_TensorShape_Handle_t tensorShapeHandle, size_t index, size_t value); + +/** + * @brief . + * + * Retrieves a pointer to the first dimension of shape + * + * @param[in] handle : handle to tensorShape + * + * @return nullptr if no dimension exists; otherwise, points to + * the first dimension. + * + */ +SNPE_API +const size_t* Snpe_TensorShape_GetDimensions(Snpe_TensorShape_Handle_t tensorShape); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_TENSOR_SHAPE_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.hpp new file mode 100644 index 00000000..776637c7 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShape.hpp @@ -0,0 +1,104 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include +#include + +#include "Wrapper.hpp" + +#include "DlSystem/TensorShape.h" + +namespace DlSystem { + + +using Dimension = size_t; + + + +class TensorShape : public Wrapper { + friend BaseType; + using BaseType::BaseType; + +protected: + static constexpr DeleteFunctionType DeleteFunction{Snpe_TensorShape_Delete}; + +private: + using DimensionReference = WrapperDetail::MemberIndexedReference; + friend DimensionReference; + +public: + + TensorShape() + : BaseType(Snpe_TensorShape_Create()) + { } + + TensorShape(const TensorShape& other) + : BaseType(Snpe_TensorShape_CreateCopy(other.handle())) + { } + + TensorShape(TensorShape&& other) noexcept + : BaseType(std::move(other)) + { } + + TensorShape(std::initializer_list dims) + : BaseType(Snpe_TensorShape_CreateDimsSize(dims.begin(), dims.size())) + { } + + TensorShape& operator=(const TensorShape& other) noexcept{ + if(this != &other){ + Snpe_TensorShape_Assign(other.handle(), handle()); + } + return *this; + } + + TensorShape& operator=(TensorShape&& other) noexcept{ + return moveAssign(std::move(other)); + } + + TensorShape(const size_t *dims, size_t size) + : BaseType(Snpe_TensorShape_CreateDimsSize(dims, size)) + { } + + TensorShape(const std::vector& dims) + : TensorShape(dims.data(), dims.size()) + { } + + + void concatenate(const size_t *dims, size_t size){ + Snpe_TensorShape_Concatenate(handle(), dims, size); + } + + void concatenate(const size_t &dim){ + return concatenate(&dim, 1); + } + + size_t operator[](size_t idx) const{ + return Snpe_TensorShape_At(handle(), idx); + } + + DimensionReference operator[](size_t idx){ + return {*this, idx}; + } + + size_t rank() const{ + return Snpe_TensorShape_Rank(handle()); + } + + const size_t* getDimensions() const{ + return Snpe_TensorShape_GetDimensions(handle()); + } + + +}; + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, Dimension) +ALIAS_IN_ZDL_NAMESPACE(DlSystem, TensorShape) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.h new file mode 100644 index 00000000..520fa5ab --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.h @@ -0,0 +1,163 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + + +/** + * @file + */ + +#ifndef _SNPE_TENSOR_SHAPE_MAP_H_ +#define _SNPE_TENSOR_SHAPE_MAP_H_ + + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" + +#include "DlSystem/TensorShape.h" +#include "DlSystem/StringList.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE TensorShapeMap handle + */ +typedef void* Snpe_TensorShapeMap_Handle_t; + +/** + * Constructs a TensorShapeMap and returns a handle to it + * + * @return the handle to the created TensorShapeMap + */ +SNPE_API +Snpe_TensorShapeMap_Handle_t Snpe_TensorShapeMap_Create(); + +/** + * @brief . + * + * copy constructor. + * + * @param[in] tsmHandle : Handle to the other object to copy. + * @return the handle to the created TensorShapeMap + */ +SNPE_API +Snpe_TensorShapeMap_Handle_t Snpe_TensorShapeMap_CreateCopy(Snpe_TensorShapeMap_Handle_t tsmHandle); + +/** + * Destroys/frees Tensor Shape Map + * + * @param[in] tsmhandle : handle to access Tensor Shape Map + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShapeMap_Delete(Snpe_TensorShapeMap_Handle_t tsmHandle); + +/** + * @brief . + * + * assignment operator. Copy-assigns from srcHandle to dstHandle + * @param[in] srcHandle : handle to source Tensor Shape Map object + * @param[out] dstHandle : handle to destination Tensor Shape Map object + * + * @return Returns SNPE_SUCCESS if Assignment successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShapeMap_Assign(Snpe_TensorShapeMap_Handle_t srcHandle, Snpe_TensorShapeMap_Handle_t dstHandle); + +/** + * @brief Adds a name and the corresponding tensor pointer + * to the map + * + * @param[in] tsmhandle : handle to access Tensor Shape Map + * @param[in] name The name of the tensor + * @param[in] tsHandle : Handle to access Tensor Shape + * + * @return Returns SNPE_SUCCESS if Add operation successful + * @note If a tensor with the same name already exists, no new + * tensor is added. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShapeMap_Add(Snpe_TensorShapeMap_Handle_t tsmHandle, const char* name, Snpe_TensorShape_Handle_t tsHandle); + +/** + * @brief Removes a mapping of tensor and its name by its name + * + * @param[in] tsmhandle : handle to access Tensor Shape Map + * @param[in] name The name of tensor to be removed + * @return Returns SNPE_SUCCESS if Remove operation successful + * + * @note If no tensor with the specified name is found, nothing + * is done. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShapeMap_Remove(Snpe_TensorShapeMap_Handle_t tsmHandle, const char* name); + +/** + * @brief Returns the number of tensors in the map + * @param[in] tsmhandle : handle to access Tensor Shape Map + * @return Returns number entries in TensorShapeMap + */ +SNPE_API +size_t Snpe_TensorShapeMap_Size(Snpe_TensorShapeMap_Handle_t tsmHandle); + +/** + * @brief . + * + * Removes all tensors from the map + * @param[in] tsmhandle : handle to access Tensor Shape Map + * @return Returns SNPE_SUCCESS if Clear operation successful + */ +SNPE_API +Snpe_ErrorCode_t Snpe_TensorShapeMap_Clear(Snpe_TensorShapeMap_Handle_t tsmHandle); + +/** + * @brief Returns the tensor given its name. + * + * @param[in] tsmhandle : handle to access Tensor Shape Map + * @param[in] name The name of the tensor to get. + * + * @return nullptr if no tensor with the specified name is + * found; otherwise, a valid Tensor Shape Handle. + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_TensorShapeMap_GetTensorShape(Snpe_TensorShapeMap_Handle_t tsmHandle, const char* name); + +/** + * @brief . + * + * @param[in] tsmHandle : handle to access Tensor Shape Map + * @return A stringList Handle to access names of all tensor shapes + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_TensorShapeMap_GetTensorShapeNames(Snpe_TensorShapeMap_Handle_t tsmHandle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_TENSOR_SHAPE_MAP_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.hpp new file mode 100644 index 00000000..8b79a6e2 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/TensorShapeMap.hpp @@ -0,0 +1,77 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include "DlSystem/StringList.hpp" +#include "DlSystem/TensorShape.hpp" +#include "DlSystem/DlError.hpp" + +#include "DlSystem/TensorShapeMap.h" + +namespace DlSystem { + +class TensorShapeMap : public Wrapper { + friend BaseType; + using BaseType::BaseType; + static constexpr DeleteFunctionType DeleteFunction{Snpe_TensorShapeMap_Delete}; + +public: + TensorShapeMap() + : BaseType(Snpe_TensorShapeMap_Create()) + { } + TensorShapeMap(const TensorShapeMap& other) + : BaseType(Snpe_TensorShapeMap_CreateCopy(other.handle())) + { } + TensorShapeMap(TensorShapeMap&& other) noexcept + : BaseType(std::move(other)) + { } + + TensorShapeMap& operator=(const TensorShapeMap& other){ + if(this != &other){ + Snpe_TensorShapeMap_Assign(other.handle(), handle()); + } + return *this; + } + TensorShapeMap& operator=(TensorShapeMap&& other) noexcept{ + return moveAssign(std::move(other)); + } + + DlSystem::ErrorCode add(const char *name, const TensorShape& tensorShape){ + return static_cast( + Snpe_TensorShapeMap_Add(handle(), name, getHandle(tensorShape)) + ); + } + + DlSystem::ErrorCode remove(const char* name) noexcept{ + return static_cast(Snpe_TensorShapeMap_Remove(handle(), name)); + } + + size_t size() const noexcept{ + return Snpe_TensorShapeMap_Size(handle()); + } + + DlSystem::ErrorCode clear() noexcept{ + return static_cast(Snpe_TensorShapeMap_Clear(handle())); + } + + TensorShape getTensorShape(const char* name) const noexcept{ + return moveHandle(Snpe_TensorShapeMap_GetTensorShape(handle(), name)); + } + + StringList getTensorShapeNames() const{ + return moveHandle(Snpe_TensorShapeMap_GetTensorShapeNames(handle())); + } + +}; + +} // ns DlSystem + + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, TensorShapeMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.h new file mode 100644 index 00000000..2da1c792 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.h @@ -0,0 +1,151 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_USER_BUFFER_MAP_H +#define DL_SYSTEM_USER_BUFFER_MAP_H + +#include "DlSystem/StringList.h" +#include "DlSystem/IUserBuffer.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE UserBufferMap handle + */ +typedef void* Snpe_UserBufferMap_Handle_t; + +/** + * @brief . + * + * Creates a new empty UserBuffer map + */ +SNPE_API +Snpe_UserBufferMap_Handle_t Snpe_UserBufferMap_Create(); + +/** + * copy constructor. + * @param[in] other : Handle to the other userBufferMap to be copied from. + */ +SNPE_API +Snpe_UserBufferMap_Handle_t Snpe_UserBufferMap_CreateCopy(Snpe_UserBufferMap_Handle_t other); + + +/** + * @brief Adds a name and the corresponding UserBuffer pointer + * to the map + * + * @param[in] handle : Handle to access UserBufferMap + * @param[in] name : The name of the UserBuffer + * @param[in] bufferHandle : Handle to access UserBuffer + * + * @note If a UserBuffer with the same name already exists, the new + * UserBuffer pointer would be updated. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferMap_Add(Snpe_UserBufferMap_Handle_t handle, const char *name, Snpe_IUserBuffer_Handle_t bufferHandle); + +/** + * @brief Removes a mapping of one UserBuffer and its name by its name + * + * @param[in] handle : Handle to access UserBufferMap + * + * @param[in] name : The name of UserBuffer to be removed + * + * @note If no UserBuffer with the specified name is found, nothing + * is done. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferMap_Remove(Snpe_UserBufferMap_Handle_t handle, const char *name); + +/** + * @brief Returns the number of UserBuffers in the map + * @param[in] handle : Handle to access UserBufferMap + */ +SNPE_API +size_t Snpe_UserBufferMap_Size(Snpe_UserBufferMap_Handle_t handle); + +/** + * @brief . + * + * @param[in] handle : Handle to access UserBufferMap + * Removes all UserBuffers from the map + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferMap_Clear(Snpe_UserBufferMap_Handle_t handle); + +/** + * @brief Returns the UserBuffer given its name. + * + * @param[in] handle : Handle to access UserBufferMap + * + * @param[in] name : The name of the UserBuffer to get. + * + * @return nullptr if no UserBuffer with the specified name is + * found; otherwise, a valid pointer to the UserBuffer. + */ +SNPE_API +Snpe_IUserBuffer_Handle_t Snpe_UserBufferMap_GetUserBuffer_Ref(Snpe_UserBufferMap_Handle_t handle , const char *name); + +/** + * @brief . + * + * Returns the names of all UserBuffers + * + * @param[in] handle : Handle to access UserBufferMap + * + * @return A list of UserBuffer names. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_UserBufferMap_GetUserBufferNames(Snpe_UserBufferMap_Handle_t handle); + +/** + * Copy-assigns the contents of srcHandle into dstHandle + * + * @param src Source UserBufferMap handle + * @param dst Destination UserBufferMap handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferMap_Assign(Snpe_UserBufferMap_Handle_t srcHandle, Snpe_UserBufferMap_Handle_t dstHandle); + +/** + * Destroys/frees UserBuffer Map + * + * @param[in] handle : Handle to access UserBuffer Map + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferMap_Delete(Snpe_UserBufferMap_Handle_t handle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_USER_BUFFER_MAP_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.hpp new file mode 100644 index 00000000..acf3207c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserBufferMap.hpp @@ -0,0 +1,80 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include + +#include "Wrapper.hpp" +#include "DlSystem/DlError.hpp" +#include "DlSystem/StringList.hpp" +#include "DlSystem/IUserBuffer.hpp" + +#include "DlSystem/UserBufferMap.h" + +namespace DlSystem { + +class UserBufferMap : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserBufferMap_Delete}; + +public: + UserBufferMap() + : BaseType(Snpe_UserBufferMap_Create()) + { } + + UserBufferMap(const UserBufferMap& other) + : BaseType(Snpe_UserBufferMap_CreateCopy(other.handle())) + { } + UserBufferMap(UserBufferMap&& other) noexcept + : BaseType(std::move(other)) + { } + + UserBufferMap& operator=(const UserBufferMap& other){ + if(this != &other){ + Snpe_UserBufferMap_Assign(other.handle(), handle()); + } + return *this; + } + UserBufferMap& operator=(UserBufferMap&& other) noexcept{ + return moveAssign(std::move(other)); + } + + DlSystem::ErrorCode add(const char* name, IUserBuffer* buffer){ + if(!buffer) return ErrorCode::SNPE_CAPI_BAD_ARGUMENT; + return static_cast(Snpe_UserBufferMap_Add(handle(), name, getHandle(*buffer))); + } + + DlSystem::ErrorCode remove(const char* name) noexcept{ + return static_cast(Snpe_UserBufferMap_Remove(handle(), name)); + } + + size_t size() const noexcept{ + return Snpe_UserBufferMap_Size(handle()); + } + + DlSystem::ErrorCode clear() noexcept{ + return static_cast(Snpe_UserBufferMap_Clear(handle())); + } + + IUserBuffer* getUserBuffer(const char* name) const noexcept{ + return makeReference(Snpe_UserBufferMap_GetUserBuffer_Ref(handle(), name)); + } + + StringList getUserBufferNames() const{ + return moveHandle(Snpe_UserBufferMap_GetUserBufferNames(handle())); + } + +}; + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserBufferMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.h new file mode 100644 index 00000000..c927d33e --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.h @@ -0,0 +1,156 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef DL_SYSTEM_USER_MEMORY_MAP_H +#define DL_SYSTEM_USER_MEMORY_MAP_H + +#include "DlSystem/StringList.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE User Memory handle + */ +typedef void* Snpe_UserMemoryMap_Handle_t; + +/** + * @brief . + * + * Creates a new empty UserMemory map + */ +SNPE_API +Snpe_UserMemoryMap_Handle_t Snpe_UserMemoryMap_Create(); + +/** + * copy constructor. + * @param[in] other : Handle to the other object to copy. + */ +SNPE_API +Snpe_UserMemoryMap_Handle_t Snpe_UserMemoryMap_Copy(Snpe_UserMemoryMap_Handle_t other); + +/** + * Copy-assigns the contents of srcHandle into dstHandle + * + * @param[in] srcHandle Source UserMemoryMap handle + * + * @param[out] dstHandle Destination UserMemoryMap handle + * + * @return SNPE_SUCCESS on successful copy-assignment + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserMemoryMap_Assign(Snpe_UserMemoryMap_Handle_t srcHandle, Snpe_UserMemoryMap_Handle_t dstHandle); + +/** + * Destroys/frees UserMemory Map + * + * @param[in] handle : Handle to access UserMemory Map + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserMemoryMap_Delete(Snpe_UserMemoryMap_Handle_t handle); + +/** + * @brief Adds a name and the corresponding buffer address + * to the map + * + * @param[in] handle : Handle to access UserMemory Map + * @param[in] name : The name of the UserMemory + * @param[in] address : The pointer to the Buffer Memory + * + * @note If a UserBuffer with the same name already exists, the new + * address would be updated. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserMemoryMap_Add(Snpe_UserMemoryMap_Handle_t handle, const char *name, void *address); + +/** + * @brief Removes a mapping of one Buffer address and its name by its name + * + * @param[in] handle : Handle to access UserMemory Map + * @param[in] name : The name of Memory address to be removed + * + * @note If no UserBuffer with the specified name is found, nothing + * is done. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserMemoryMap_Remove(Snpe_UserMemoryMap_Handle_t handle, const char *name); + +/** + * @brief Returns the number of User Memory addresses in the map + * @param[in] handle : Handle to access UserMemory Map + */ +SNPE_API +size_t Snpe_UserMemoryMap_Size(Snpe_UserMemoryMap_Handle_t handle); + +/** + * @brief . + * + * Removes all User Memory from the map + * @param[in] handle : Handle to access UserMemory Map + */ +SNPE_API +Snpe_ErrorCode_t Snpe_UserMemoryMap_Clear(Snpe_UserMemoryMap_Handle_t handle); + +/** + * @brief . + * Returns the names of all User Memory + * + * @param[in] handle : Handle to access UserMemory Map + * + * @return Returns a handle to the stringList. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_UserMemoryMap_GetUserBufferNames(Snpe_UserMemoryMap_Handle_t handle); + +/** + * @brief Returns the no of UserMemory addresses mapped to the buffer + * + * @param[in] handle : Handle to access UserMemory Map + * @param[in] name : The name of the UserMemory + * + */ +SNPE_API +size_t Snpe_UserMemoryMap_GetUserMemoryAddressCount(Snpe_UserMemoryMap_Handle_t handle, const char *name); + +/** + * @brief Returns address at a specified index corresponding to a UserMemory buffer name + * + * @param[in] handle : Handle to access UserMemory Map + * @param[in] name : The name of the buffer + * @param[in] index : The index in the list of addresses + * + */ +SNPE_API +void* Snpe_UserMemoryMap_GetUserMemoryAddressAtIndex(Snpe_UserMemoryMap_Handle_t handle, const char *name, uint32_t index); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // DL_SYSTEM_USER_MEMORY_MAP_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.hpp new file mode 100644 index 00000000..36e9cd37 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/DlSystem/UserMemoryMap.hpp @@ -0,0 +1,76 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "DlSystem/DlError.hpp" +#include "DlSystem/StringList.hpp" + +#include "DlSystem/UserMemoryMap.h" + +namespace DlSystem { + +class UserMemoryMap : public Wrapper { + friend BaseType; +// Use this to get free move Ctor and move assignment operator, provided this class does not specify +// as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserMemoryMap_Delete}; +public: + UserMemoryMap() + : BaseType(Snpe_UserMemoryMap_Create()) + { } + UserMemoryMap(const UserMemoryMap& other) + : BaseType(Snpe_UserMemoryMap_Copy(other.handle())) + { } + UserMemoryMap(UserMemoryMap&& other) noexcept + : BaseType(std::move(other)) + { } + + UserMemoryMap& operator=(const UserMemoryMap& other){ + if(this != &other){ + Snpe_UserMemoryMap_Assign(handle(), other.handle()); + } + return *this; + } + + DlSystem::ErrorCode add(const char* name, void* address) noexcept{ + return static_cast(Snpe_UserMemoryMap_Add(handle(), name, address)); + } + + DlSystem::ErrorCode remove(const char* name){ + return static_cast(Snpe_UserMemoryMap_Remove(handle(), name)); + } + + size_t size() const noexcept{ + return Snpe_UserMemoryMap_Size(handle()); + } + + DlSystem::ErrorCode clear() noexcept{ + return static_cast(Snpe_UserMemoryMap_Clear(handle())); + } + + StringList getUserBufferNames() const{ + return moveHandle(Snpe_UserMemoryMap_GetUserBufferNames(handle())); + } + + size_t getUserMemoryAddressCount(const char* name) const noexcept{ + return Snpe_UserMemoryMap_GetUserMemoryAddressCount(handle(), name); + } + + void* getUserMemoryAddressAtIndex(const char* name, uint32_t index) const noexcept{ + return Snpe_UserMemoryMap_GetUserMemoryAddressAtIndex(handle(), name, index); + } + +}; + + +} // ns DlSystem + +ALIAS_IN_ZDL_NAMESPACE(DlSystem, UserMemoryMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.h new file mode 100644 index 00000000..282ee547 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.h @@ -0,0 +1,107 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _PLATFORM_VALIDATOR_H_ +#define _PLATFORM_VALIDATOR_H_ + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" +#include "DlSystem/DlEnums.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * A typedef to indicate a SNPE PlatformValidator handle + */ +typedef void* Snpe_PlatformValidator_Handle_t; + +/** + * @brief . + * + * Creates a new Platform Validator + * + */ +SNPE_API +Snpe_PlatformValidator_Handle_t Snpe_PlatformValidator_Create(); + + +/** + * Destroys/frees Platform Validator + * + * @param[in] handle : Handle to access Platform Validator + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PlatformValidator_Delete(Snpe_PlatformValidator_Handle_t handle); + +/** + * @brief Sets the runtime processor for compatibility check + * + * @return Void + */ +SNPE_API +void Snpe_PlatformValidator_SetRuntime(Snpe_PlatformValidator_Handle_t handle, + Snpe_Runtime_t runtime, + bool unsignedPD=true); + +/** + * @brief Checks if the Runtime prerequisites for SNPE are available. + * + * @return 1 if the Runtime prerequisites are available, else 0. + */ +SNPE_API +int Snpe_PlatformValidator_IsRuntimeAvailable(Snpe_PlatformValidator_Handle_t handle, + bool unsignedPD=true); + +/** + * @brief Returns the core version for the Runtime selected. + * + * @return char* which contains the actual core version value + */ +SNPE_API +const char* Snpe_PlatformValidator_GetCoreVersion(Snpe_PlatformValidator_Handle_t handle); + +/** + * @brief Returns the library version for the Runtime selected. + * + * @return char* which contains the actual lib version value + */ +SNPE_API +const char* Snpe_PlatformValidator_GetLibVersion(Snpe_PlatformValidator_Handle_t handle); + +/** + * @brief Runs a small program on the runtime and Checks if SNPE is supported for Runtime. + * + * @return If 1, the device is ready for SNPE execution, else return 0. + */ +SNPE_API +int Snpe_PlatformValidator_RuntimeCheck(Snpe_PlatformValidator_Handle_t handle, + bool unsignedPD=true); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _PLATFORM_VALIDATOR_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.hpp new file mode 100644 index 00000000..de52635c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/PlatformValidator/PlatformValidator.hpp @@ -0,0 +1,57 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include + +#include "Wrapper.hpp" + +#include "DlSystem/DlEnums.hpp" + + +#include "PlatformValidator/PlatformValidator.h" + + +namespace SNPE { + +class PlatformValidator : public Wrapper { + friend BaseType; + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_PlatformValidator_Delete}; + +public: + PlatformValidator() + : BaseType(Snpe_PlatformValidator_Create()) + { } + + void setRuntime(DlSystem::Runtime_t runtime, bool unsignedPD=true){ + Snpe_PlatformValidator_SetRuntime(handle(), static_cast(runtime), unsignedPD); + } + + bool isRuntimeAvailable(bool unsignedPD=true){ + return Snpe_PlatformValidator_IsRuntimeAvailable(handle(), unsignedPD); + } + + std::string getCoreVersion(){ + return Snpe_PlatformValidator_GetCoreVersion(handle()); + } + + std::string getLibVersion(){ + return Snpe_PlatformValidator_GetLibVersion(handle()); + } + + bool runtimeCheck(bool unsignedPD=true){ + return Snpe_PlatformValidator_RuntimeCheck(handle(), unsignedPD); + } + +}; + +} // ns SNPE + +ALIAS_IN_ZDL_NAMESPACE(SNPE, PlatformValidator) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.h new file mode 100644 index 00000000..8a2bb7d2 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.h @@ -0,0 +1,85 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef _SNPE_APPLICATION_BUFFER_MAP_H_ +#define _SNPE_APPLICATION_BUFFER_MAP_H_ + + +#ifdef __cplusplus +#include +#else +#include +#endif + + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" +#include "DlSystem/StringList.h" + + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef void* Snpe_ApplicationBufferMap_Handle_t; + +SNPE_API +Snpe_ApplicationBufferMap_Handle_t Snpe_ApplicationBufferMap_Create(); + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_Delete(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle); + + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_Add(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle, + const char* name, + const uint8_t* buff, + size_t size); + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_AddFloat(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle, + const char* name, + const float* buff, + size_t size); + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_Remove(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle, + const char* name); + +SNPE_API +size_t Snpe_ApplicationBufferMap_Size(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_Clear(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle); + + +SNPE_API +Snpe_StringList_Handle_t Snpe_ApplicationBufferMap_GetUserBufferNames(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle); + + +SNPE_API +Snpe_ErrorCode_t Snpe_ApplicationBufferMap_GetUserBuffer(Snpe_ApplicationBufferMap_Handle_t applicationBufferMapHandle, + const char* name, + size_t* size, + const uint8_t** data); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_APPLICATION_BUFFER_MAP_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.hpp new file mode 100644 index 00000000..6ad745bb --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/ApplicationBufferMap.hpp @@ -0,0 +1,90 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include +#include +#include + +#include "Wrapper.hpp" +#include "DlSystem/StringList.hpp" + +#include "SNPE/ApplicationBufferMap.h" + +namespace PSNPE { + +class ApplicationBufferMap : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_ApplicationBufferMap_Delete}; +public: + ApplicationBufferMap() + : BaseType(Snpe_ApplicationBufferMap_Create()){} + + explicit ApplicationBufferMap(const std::unordered_map> &buffer) + : ApplicationBufferMap(){ + for(const auto &kv: buffer){ + add(kv.first.c_str(), kv.second); + } + } + + void add(const char *name, const std::vector &buff){ + Snpe_ApplicationBufferMap_Add(handle(), name, buff.data(), buff.size()); + } + + void add(const char *name, const std::vector &buff){ + Snpe_ApplicationBufferMap_Add(handle(), name, reinterpret_cast(buff.data()), buff.size()*sizeof(float)); + } + + void remove(const char *name) noexcept{ + Snpe_ApplicationBufferMap_Remove(handle(), name); + } + + size_t size() const noexcept{ + return Snpe_ApplicationBufferMap_Size(handle()); + } + + void clear() noexcept{ + Snpe_ApplicationBufferMap_Clear(handle()); + } + + std::vector getUserBuffer(const char *name) const{ + size_t size{}; + const uint8_t *data{}; + Snpe_ApplicationBufferMap_GetUserBuffer(handle(), name, &size, &data); + + return std::vector(data, data + size); + } + + std::vector operator[](const char *name) const{ + return getUserBuffer(name); + } + + DlSystem::StringList getUserBufferNames() const{ + return moveHandle(Snpe_ApplicationBufferMap_GetUserBufferNames(handle())); + } + + std::unordered_map> getUserBuffer() const{ + std::unordered_map> toret; + for(auto name: getUserBufferNames()){ + toret.emplace(name, getUserBuffer(name)); + } + + return toret; + } + +}; + +} // ns PSNPE + + +ALIAS_IN_ZDL_NAMESPACE(PSNPE, ApplicationBufferMap) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.h new file mode 100644 index 00000000..2358d535 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.h @@ -0,0 +1,898 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022,2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _SNPE_PSNPE_H_ +#define _SNPE_PSNPE_H_ + + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "DlContainer/DlContainer.h" +#include "SNPE/ApplicationBufferMap.h" +#include "SNPE/RuntimeConfigList.h" +#include "SNPE/UserBufferList.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/IBufferAttributes.h" + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" + +#include "DlSystem/UserMemoryMap.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A typedef to indicate the callback PSNPE handle of Async Output mode + */ +typedef void* Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t; + +//SNPE_API +//Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t Snpe_PSNPE_OutputAsyncCallbackParam_Create(size_t index, +// int status, +// const char* errorMsg); +// +//SNPE_API +//Snpe_ErrorCode_t Snpe_PSNPE_OutputAsyncCallbackParam_Delete(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t oacpHandle); + +// NOTE: we don't need _{Create,Delete} functions because the user does not create or delete these handles +// They're passed in to the callback functions they created + +/** + * @brief Get the data index of an output async PSNPE object + * + * @param[in] oacpHandle Handle to access the PSNPE object of output async mode + * + * @return The data idx for output async mode + */ +SNPE_API +size_t Snpe_PSNPE_OutputAsyncCallbackParam_GetDataIdx(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t oacpHandle); + +/** + * @brief Execute an output async PSNPE object + * + * @param[in] oacpHandle Handle to access the PSNPE object of output async mode + * + * @return True if executed successfully with outputAsync mode + */ +SNPE_API +int Snpe_PSNPE_OutputAsyncCallbackParam_GetExecuteStatus(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t oacpHandle); + +/** + * @brief Get the error message during the execution of PSNPE output async mode + * + * @param[in] oacpHandle Handle to access the PSNPE object of output async mode + * + * @return Error message + */ +SNPE_API +const char* Snpe_PSNPE_OutputAsyncCallbackParam_GetErrorMsg(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t oacpHandle); + +/** + * @brief Get the ID of an output async PSNPE object + * + * @param[in] oacpHandle Handle to access the PSNPE object of output async mode + * + * @return The id of an PSNPE object for output async mode + */ +SNPE_API +size_t Snpe_PSNPE_OutputAsyncCallbackParam_GetID(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t oacpHandle); + + + +/** + * A typedef to indicate the output callback of PSNPE handle of input-output async mode + */ +typedef void* Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t; + +/** + * @brief Get the data index of an input-output async PSNPE object + * + * @param[in] oacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return The data index for input-output async mode + */ +SNPE_API +size_t Snpe_PSNPE_InputOutputAsyncCallbackParam_GetDataIdx(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * @brief Execute an input-output async PSNPE object + * + * @param[in] oacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return True if executed successfully with input-output async mode + */ +SNPE_API +int Snpe_PSNPE_InputOutputAsyncCallbackParam_GetExecuteStatus(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * @brief Get the error message during the execution of PSNPE input-output async mode + * + * @param[in] oacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return error message + */ +SNPE_API +const char* Snpe_PSNPE_InputOutputAsyncCallbackParam_GetErrorMsg(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * @brief Get the names of output buffers to the network + * + * @param[in] ioacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return Handle of output buffer name list + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_PSNPE_InputOutputAsyncCallbackParam_GetUserBufferNames(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * @brief Get the output buffer map of PSNPE object for input-output async mode + * + * @param[in] ioacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return The reference handle of output ApplicationBufferMap + */ +SNPE_API +Snpe_ApplicationBufferMap_Handle_t Snpe_PSNPE_InputOutputAsyncCallbackParam_GetOutputMap_Ref(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * @brief Get the id of the output callback for input-output async mode + * + * @param[in] oacpHandle Handle to access the PSNPE object of input-output async mode + * + * @return The id for output callback for input-output async mode + */ +SNPE_API +size_t Snpe_PSNPE_InputOutputAsyncCallbackParam_GetID(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle); + +/** + * A typedef to indicate the input callback of PSNPE handle of input-output async mode + */ +typedef void* Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t; + +/** + * @brief Get the input list for input callback of input-output async mode + * + * @param[in] ioacpHandle Handle to access the object of input callback of input-output async mode + * + * @return List the inputs + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_PSNPE_InputOutputInputAsyncCallbackParam_GetInputs(Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t ioiacpHandle); + +/** + * @brief Get the input names for input callback of input-output async mode + * + * @param[in] ioacpHandle Handle to access the object of input callback of input-output async mode + * + * @return List the names of input + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_PSNPE_InputOutputInputAsyncCallbackParam_GetInputNames(Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t ioiacpHandle); + +/** + * @brief Get the id of the input callback for input-output async mode + * + * @param[in] oacpHandle Handle to access the object of input-output async mode + * + * @return The id of input callback for input-output async mode + */ +SNPE_API +size_t Snpe_PSNPE_InputOutputInputAsyncCallbackParam_GetID(Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t ioiacpHandle); + +/** + * @brief A struct to indicate userbuffer data type in output callback of input-output async mode + */ +typedef struct{ + /// data for the one output + const uint8_t* data; + /// the data size of this output + size_t size; +} Snpe_UserBufferData_t; + +/** + * @brief Get the output data of the output callback for input-output async mode + * + * @param[in] oacpHandle Handle to access the object of output callback of input-output async mode + * + * @param[in] name The output name of output callback of input-output async mode + * + * @return The output data of output callback for input-output async mode + */ +SNPE_API +Snpe_UserBufferData_t Snpe_PSNPE_InputOutputAsyncCallbackParam_GetUserBuffer(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t ioacpHandle, + const char* name); +/** + * A typedef to indicate build configuration + */ +typedef void* Snpe_BuildConfig_Handle_t; + +/** + * A typedef to indicate a PSNPE object + */ +typedef void* Snpe_PSNPE_Handle_t; + +/** + * A typedef to indicate if PSNPE object is built in serial or parallel, default = 0 + */ +typedef enum SNPE_API { + SNPE_PSNPE_BUILDMODE_SERIAL = 0, + SNPE_PSNPE_BUILDMODE_PARALLEL = 1 +} Snpe_PSNPE_BuildMode_t; + +/** + * A typedef to indicate if PSNPE objects are executed in sync mode or output async mode or input-output async mode, default = 0 + */ +typedef enum SNPE_API { + SNPE_PSNPE_INPUTOUTPUTTRANSMISSIONMODE_SYNC = 0, + SNPE_PSNPE_INPUTOUTPUTTRANSMISSIONMODE_OUTPUTASYNC = 1, + SNPE_PSNPE_INPUTOUTPUTTRANSMISSIONMODE_INPUTOUTPUTASYNC = 2 +} Snpe_PSNPE_InputOutputTransmissionMode_t; + +// BuildConfig +/** + * @brief Create the object of snpe build config + * + * @return the SNPE build handle + */ +SNPE_API +Snpe_BuildConfig_Handle_t Snpe_BuildConfig_Create(); + +/** + * @brief Release the object of snpe build config + * + * @param[in] buildConfigHandle Handle to access the object of snpe buid config + * + * @return The error of build config result + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_Delete(Snpe_BuildConfig_Handle_t buildConfigHandle); + +/** + * @brief Get the mode of build snpe object, serial or parallel + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The value of Snpe_PSNPE_BuildMode_t + */ +SNPE_API +Snpe_PSNPE_BuildMode_t Snpe_BuildConfig_GetBuildMode(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set the mode of build snpe object, serial or parallel + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] buildMode A typedef of Snpe_PSNPE_BuildMode_t + * + * @return The result of setting mode + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetBuildMode(Snpe_BuildConfig_Handle_t bcHandle, Snpe_PSNPE_BuildMode_t buildMode); + +/** + * @brief Set the dlc model + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] dlcHandle A handle of snpe DLC container + * + * @return The result of setting dlc model + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetContainer(Snpe_BuildConfig_Handle_t bcHandle, Snpe_DlContainer_Handle_t dlcHandle); + +/** + * @brief Get dlc container in snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The reference handle of DLC container + */ +SNPE_API +Snpe_DlContainer_Handle_t Snpe_BuildConfig_GetContainer_Ref(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set output buffer names in snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] slHandle A handle of the output layer name list + * + * @return The result of setting output names + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetOutputBufferNames(Snpe_BuildConfig_Handle_t bcHandle, Snpe_StringList_Handle_t slHandle); + +/** + * @brief Get output buffer names in snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The reference handle of output buffer name list. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_BuildConfig_GetOutputBufferNames_Ref(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set output buffer names in snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] slHandle List of tensor names to output. An empty list will result in producing output for the final output tensor of the model. The list will be copied + * + * @return The result of setting output tensors + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetOutputTensors(Snpe_BuildConfig_Handle_t bcHandle, Snpe_StringList_Handle_t slHandle); + +/** + * @brief Get output tensors in snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The reference handle of output tensor list + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_BuildConfig_GetOutputTensors_Ref(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set runtime config list for snpe buildConfig + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] rclHandle Handle to access the object of runtime config list + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetRuntimeConfigList(Snpe_BuildConfig_Handle_t bcHandle, Snpe_RuntimeConfigList_Handle_t rclHandle); + +/** + * @brief Get runtime config list for snpe buildConfig + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The reference handle of runtime config list + */ +SNPE_API +Snpe_RuntimeConfigList_Handle_t Snpe_BuildConfig_GetRuntimeConfigList_Ref(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Get input thread number of input data for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The number of input thread + */ +SNPE_API +size_t Snpe_BuildConfig_GetInputThreadNumbers(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set input thread number of input data for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] threadNumbers The number of input thread for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputThreadNumbers(Snpe_BuildConfig_Handle_t bcHandle, size_t threadNumbers); + +/** + * @brief Get output thread number of output data for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The number of output thread + */ +SNPE_API +size_t Snpe_BuildConfig_GetOutputThreadNumbers(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set output thread number of output data for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] threadNumbers The number of output thread for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetOutputThreadNumbers(Snpe_BuildConfig_Handle_t bcHandle, size_t threadNumbers); + +/** + * @brief Set output callback for output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] callbackFunc The ouutput callback function for output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetOutputCallback(Snpe_BuildConfig_Handle_t bcHandle, + void (*callbackFunc)(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t)); +/** + * @brief Set the id of output callback function for output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] id The id of output callback function + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetOutputCallbackID(Snpe_BuildConfig_Handle_t bcHandle, size_t id); + +/** + * @brief Set the inside output callback handle to NULL for output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_ClearOutputCallback(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set output callback for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] callbackFunc The output callback function for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputOutputCallback(Snpe_BuildConfig_Handle_t bcHandle, + void (*callbackFunc)(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t)); + +/** + * @brief Set the id of output callback function for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] id The id of output callback function for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputOutputCallbackID(Snpe_BuildConfig_Handle_t bcHandle, size_t id); + +/** + * @brief Set the inside output callback handle to NULL for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_ClearInputOutputCallback(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set input callback for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] callbackFunc The input callback function for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputOutputInputCallback(Snpe_BuildConfig_Handle_t bcHandle, + Snpe_ApplicationBufferMap_Handle_t (*callbackFunc)( + Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t + ) + ); + +/** + * @brief Set the id of input callback function for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] id The id of input callback function for input-output async mode + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputOutputInputCallbackID(Snpe_BuildConfig_Handle_t bcHandle, size_t id); + +/** + * @brief Set the inside input callback handle to NULL for input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_ClearInputOutputInputCallback(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set the input and output transmission mode including sync mode, output async mode and input-output async mode, defult is sync mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] iotMode The typedef of Snpe_PSNPE_InputOutputTransmissionMode_t + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetInputOutputTransmissionMode(Snpe_BuildConfig_Handle_t bcHandle, + Snpe_PSNPE_InputOutputTransmissionMode_t iotMode); + +/** + * @brief Get the input and output transmission mode including sync mode, output async mode and input-output async mode + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The typedef of Snpe_PSNPE_InputOutputTransmissionMode_t + */ +SNPE_API +Snpe_PSNPE_InputOutputTransmissionMode_t Snpe_BuildConfig_GetInputOutputTransmissionMode(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set the profiling level for PSNPE build config, default is SNPE_PROFILING_LEVEL_OFF + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] profilingLevel The typedef of Snpe_ProfilingLevel_t + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetProfilingLevel(Snpe_BuildConfig_Handle_t bcHandle, Snpe_ProfilingLevel_t profilingLevel); + +/** + * @brief Get the profiling level for PSNPE build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The typedef of Snpe_ProfilingLevel_t + */ +SNPE_API +Snpe_ProfilingLevel_t Snpe_BuildConfig_GetProfilingLevel(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief To be deprecated, set the encode value when you want to divide one image into 2 or 4 parts to run, default is 0 which means the input don't need dividing. + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] encode0 The uint64 value of encode0 + * + * @param[in] encode1 The uint64 value of encode1 + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetEncode(Snpe_BuildConfig_Handle_t bcHandle, uint64_t encode0, uint64_t encode1); + +/** + * @brief To be deprecated, set the encode0 value for snpe build config which is a special feature used in SM8250 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] encode0 The uint64 value of encode0 + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetEncode0(Snpe_BuildConfig_Handle_t bcHandle, uint64_t encode0); + +/** + * @brief To be deprecated, set the encode1 value for snpe build config which is a special feature used in SM8250 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] encode1 The uint64 value of encode1 + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetEncode1(Snpe_BuildConfig_Handle_t bcHandle, uint64_t encode1); + +/** + * @brief To be deprecated, get the encode0 and encode1 value for snpe build config which is a special feature used in SM8250 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The uint64 value of encode + */ +SNPE_API +uint64_t* Snpe_BuildConfig_GetEncode(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief To be deprecated, get the encode0 value for snpe build config which is a special feature used in SM8250 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The uint64 value of encode0 + */ +SNPE_API +uint64_t Snpe_BuildConfig_GetEncode0(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief To be deprecated, get the encode1 value for snpe build config which is a special feature used in SM8250 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The uint64 value of encode1 + */ +SNPE_API +uint64_t Snpe_BuildConfig_GetEncode1(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set true or false for enabling init cache for snpe build config, enabling init cache = 1 + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] enableInitCache True for enabing init cache + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetEnableInitCache(Snpe_BuildConfig_Handle_t bcHandle, int enableInitCache); + +/** + * @brief Get the satus of enabling init cache for snpe build config, enabling init cache = 1. + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] enableInitCache True for enabing init cache + * + * @return 1 or 0 for enabling init cache + */ +SNPE_API +int Snpe_BuildConfig_GetEnableInitCache(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Handle needed to access the platformConfig. + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] platformOptions Options as a const char* + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetPlatformOptions(Snpe_BuildConfig_Handle_t bcHandle, const char* platformOptions); + +/** + * @brief Get the optional platform features for snpe build config + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return Options as a const char* + */ +SNPE_API +const char* Snpe_BuildConfig_GetPlatformOptions(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Set the path directory of output diag log you want to save + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @param[in] diaglogOutputDir The string directory + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_BuildConfig_SetDiaglogOutputDir(Snpe_BuildConfig_Handle_t bcHandle, const char* diaglogOutputDir); + +/** + * @brief Get the path of output diag log + * + * @param[in] bcHandle Handle to access the object of snpe buid config + * + * @return The string directory + */ +SNPE_API +const char* Snpe_BuildConfig_GetDiaglogOutputDir(Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Create the handle of PSNPE object + * + * @return The handle of PSNPE object + */ +SNPE_API +Snpe_PSNPE_Handle_t Snpe_PSNPE_Create(); + +/** + * @brief Release the handle of PSNPE object + * + * @param[in] psnpeHandle Handle to access the PSNPE object + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_Delete(Snpe_PSNPE_Handle_t psnpeHandle); + +/** + * @brief Build the instance of PSNPE object accorading of snpe build config + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_Build(Snpe_PSNPE_Handle_t psnpeHandle, Snpe_BuildConfig_Handle_t bcHandle); + +/** + * @brief Execute PSNPE object for sync mode. + * + * @param[in] psnpeHandle Handle to access the PSNPE object + * + * @param[in] inputBufferListHandle Handle to access the input user buffer list + * + * @param[in] outputBufferListHandle Handle to access the output user buffer list + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_Execute(Snpe_PSNPE_Handle_t psnpeHandle, + Snpe_UserBufferList_Handle_t inputBufferListHandle, + Snpe_UserBufferList_Handle_t outputBufferListHandle); + +/** + * @brief Execute PSNPE object for input-output async mode + * + * @param[in] psnpeHandle Handle to access the PSNPE object + * + * @param[in] inputMapHandle Handle to access the input buffer map + * + * @param[in] dataIndex The index of input data + * + * @param[in] isTF8buff If the input buffer is TF8 + * + * @param[in] isTF8Outputbuff If the output buffer is TF8 + * + * @return The result error message + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_ExecuteInputOutputAsync(Snpe_PSNPE_Handle_t psnpeHandle, + Snpe_StringList_Handle_t inputMapHandle, + size_t dataIndex, + int isTF8buff, + int isTF8Outputbuff); + +/** + * @brief Get the input tensor names for PSNPE object. + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @return The string list of input tensor names + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_PSNPE_GetInputTensorNames(Snpe_PSNPE_Handle_t psnpeHandle); + +/** + * @brief Get the output tensor names for PSNPE object + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @return The string list of output tensor names + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_PSNPE_GetOutputTensorNames(Snpe_PSNPE_Handle_t psnpeHandle); + +/** + * @brief Get the input dimension shape for PSNPE object + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @return The tensor shape of input dimension + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_PSNPE_GetInputDimensions(Snpe_PSNPE_Handle_t psnpeHandle); + +/** + * @brief Get the input dimension shape for the specific input name for PSNPE object + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @param[in] name The name of input data + * + * @return The tensor shape of a specific input name + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_PSNPE_GetInputDimensions_Name(Snpe_PSNPE_Handle_t psnpeHandle, const char* name); + +/** + * @brief Get the number of elements in each dimension for input and output buffer + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @param[in] name The name of input and output buffer + * + * @return Dimension size + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_PSNPE_GetBufferAttributesDims(Snpe_PSNPE_Handle_t psnpeHandle, const char* name); + +/* To be deprecated, please use new api Snpe_PSNPE_RegisterUserMemoryMappedBuffers */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_RegisterIonBuffers(Snpe_PSNPE_Handle_t psnpeHandle, Snpe_UserMemoryMap_Handle_t ionBufferMapHandle); + +/* To be deprecated, please use new api Snpe_PSNPE_DeregisterUserMemoryMappedBuffers */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_DeregisterIonBuffers(Snpe_PSNPE_Handle_t psnpeHandle, Snpe_StringList_Handle_t ionBufferNames); + +/** + * @brief Register Client Memory-Mapped Buffers (Example ION buffers in Android) + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] bufferMapHandle A UserMemoryMap of virtual addresses + * + * @note UserBuffer type passed for registration must match the data type of the tensor in the dlc + * For regular UserBuffers SNPE performs an online data conversion (quantization or + * dequantization etc). This is not possible for memory mapped buffers hence can lead to + * issues during execution or accuracy degradation + * + * @return SNPE_SUCCESS upon successful memory mapped buffer registration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_RegisterUserMemoryMappedBuffers(Snpe_PSNPE_Handle_t psnpeHandle, Snpe_UserMemoryMap_Handle_t bufferMapHandle); + +/** + * @brief Deregister Client Memory-Mapped Buffers (Example ION buffers in Android) + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] bufferNamesHandle A StringList of memory mapped buffer names + * + * @return SNPE_SUCCESS upon successful memory mapped buffer deregistration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_PSNPE_DeregisterUserMemoryMappedBuffers(Snpe_PSNPE_Handle_t psnpeHandle, Snpe_StringList_Handle_t bufferNamesHandle); + +/** + * @brief Get the error message during the failed execution + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @return The error message + */ +SNPE_API +const char* Snpe_PSNPE_GetLastErrorString(Snpe_PSNPE_Handle_t psnpeHandle); + +/** + * @brief Get the handle of IBufferAttributes + * + * @param[in] bcHandle Handle to access the PSNPE object + * + * @param[in] name The name of attribute buffer + * + * @return Handle to access IBufferAttributes + */ +SNPE_API +Snpe_IBufferAttributes_Handle_t Snpe_PSNPE_GetInputOutputBufferAttributes(Snpe_PSNPE_Handle_t psnpeHandle, const char *name); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_PSNPE_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.hpp new file mode 100644 index 00000000..bd3af1ac --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/PSNPE.hpp @@ -0,0 +1,537 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include +#include +#include +#include +#include + + +#include "Wrapper.hpp" + + +#include "DlSystem/DlEnums.hpp" +#include "DlSystem/DlVersion.hpp" +#include "DlSystem/StringList.hpp" +#include "DlSystem/DlOptional.hpp" +#include "DlSystem/IBufferAttributes.hpp" +#include "DlSystem/UserMemoryMap.hpp" + +#include "SNPE/UserBufferList.hpp" +#include "SNPE/ApplicationBufferMap.hpp" +#include "SNPE/RuntimeConfigList.hpp" +#include "DlContainer/IDlContainer.hpp" + +#include "SNPE/RuntimeConfigList.hpp" + + +#include "SNPE/PSNPE.h" + +namespace PSNPE{ + +enum BuildMode { + SERIAL = 0, + PARALLEL = 1 +}; +/** + * @brief Input and output transmission mode + */ +enum InputOutputTransmissionMode { + sync = 0, + outputAsync = 1, + inputOutputAsync = 2 +}; + + +struct OutputAsyncCallbackParam : public Wrapper { +private: + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{NoOpDeleter}; + + + template + using DataIndexReference = WrapperDetail::GenericConstMemberReference + ; + + + template + using ExecuteStatusReference = WrapperDetail::GenericConstMemberReference + >; + + + static std::string ErrMsgGetter(Snpe_DlVersion_Handle_t handle){ + return Snpe_PSNPE_OutputAsyncCallbackParam_GetErrorMsg(handle); + } + template + using ErrorMsgReference = WrapperDetail::GenericConstMemberReference + ; + + template + using CallbackIDReference = WrapperDetail::GenericConstMemberReference + ; + + + + +public: + OutputAsyncCallbackParam() = delete; + OutputAsyncCallbackParam(OutputAsyncCallbackParam&& other) noexcept + : BaseType(std::move(other)) + { } + + DataIndexReference dataIndex{*this}; + ExecuteStatusReference executeStatus{*this}; + ErrorMsgReference errorMsg{*this}; + + CallbackIDReference callbackID{*this}; +}; + + + +struct InputOutputInputAsyncCallbackParam : public Wrapper { +private: + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{NoOpDeleter}; + + + static std::vector GetInputs(HandleType handle){ + DlSystem::StringList inputs(moveHandle(Snpe_PSNPE_InputOutputInputAsyncCallbackParam_GetInputs(handle))); + + return std::vector(inputs.begin(), inputs.end()); + } + + template + using InputsReference = WrapperDetail::GenericConstMemberReference + ; + + + static DlSystem::StringList GetInputNames(HandleType handle){ + return moveHandle(Snpe_PSNPE_InputOutputInputAsyncCallbackParam_GetInputNames(handle)); + } + template + using InputNamesReference = WrapperDetail::GenericConstMemberReference + ; + + template + using CallbackIDReference = WrapperDetail::GenericConstMemberReference + ; + + +public: + InputOutputInputAsyncCallbackParam() = delete; + InputOutputInputAsyncCallbackParam(InputOutputInputAsyncCallbackParam&& other) noexcept + : BaseType(std::move(other)) + { } + + InputsReference> inputs{*this}; + InputNamesReference inputNames{*this}; + CallbackIDReference callbackID{*this}; + +}; + + + + + +struct InputOutputAsyncCallbackParam : public Wrapper { +private: + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{NoOpDeleter}; + + template + using DataIndexReference = WrapperDetail::GenericConstMemberReference + ; + + static bool GetExecuteStatus(HandleType handle){ + return Snpe_PSNPE_InputOutputAsyncCallbackParam_GetExecuteStatus(handle); + } + template + using ExecuteStatusReference = WrapperDetail::GenericConstMemberReference + ; + + static std::string ErrMsgGetter(Snpe_DlVersion_Handle_t handle){ + return Snpe_PSNPE_OutputAsyncCallbackParam_GetErrorMsg(handle); + } + template + using ErrorMsgReference = WrapperDetail::GenericConstMemberReference + ; + + + + // This should work + static ApplicationBufferMap GetOutputMap(HandleType handle){ + return moveHandle(Snpe_PSNPE_InputOutputAsyncCallbackParam_GetOutputMap_Ref(handle), true); + } + + template + using OutputMapReference = WrapperDetail::GenericConstMemberReference + ; + + template + using CallbackIDReference = WrapperDetail::GenericConstMemberReference + ; + +public: + + InputOutputAsyncCallbackParam(InputOutputAsyncCallbackParam&& other) noexcept + : BaseType(std::move(other)) + { } + + DataIndexReference dataIndex{*this}; + OutputMapReference outputMap{*this}; /// OOOH, this will be super tricky to not have a copy every time + ExecuteStatusReference executeStatus{*this}; + ErrorMsgReference errorMsg{*this}; + CallbackIDReference callbackID{*this}; +}; + +/** + * @brief This callback is called when the output data is ready, only use for Output Async mode + */ +using OutputAsyncCallbackFunc = std::function; +/** + * @brief This callback is called when the output data is ready, only use for Output-Input Async mode + */ +using InputOutputAsyncCallbackFunc = std::function; +/** + * @brief This callback is called when the input data is ready,only use for Output-Input Async mode + */ +using InputOutputAsyncInputCallback = std::function(InputOutputInputAsyncCallbackParam)>; + + +struct BuildConfig final { + BuildMode buildMode = BuildMode::SERIAL; ///< Specify build in serial mode or parallel mode + zdl::DlContainer::IDlContainer* container;///< The opened container ptr + zdl::DlSystem::StringList outputBufferNames;///< Specify the output layer name + zdl::DlSystem::StringList outputTensors;///< Specify the output layer name + RuntimeConfigList runtimeConfigList;///< The runtime config list for PSNPE, @see RuntimeConfig + size_t inputThreadNumbers = 1;///< Specify the number of threads used in the execution phase to process input data, only used in inputOutputAsync mode + size_t outputThreadNumbers = 1;///< Specify the number of threads used in the execution phase to process output data, only used in inputOutputAsync and outputAsync mode + OutputAsyncCallbackFunc outputCallback;///< The callback to deal with output data ,only used in outputAsync mode + InputOutputAsyncCallbackFunc inputOutputCallback;///< The callback to deal with output data ,only used in inputOutputAsync mode + InputOutputAsyncInputCallback inputOutputInputCallback;///< The callback to deal with input data ,only used in inputOutputAsync mode + InputOutputTransmissionMode inputOutputTransmissionMode = InputOutputTransmissionMode::sync;///< Specify execution mode + zdl::DlSystem::ProfilingLevel_t profilingLevel = zdl::DlSystem::ProfilingLevel_t::OFF;///< Specify profiling level for Diaglog + uint64_t encode[2] = {0, 0}; + bool enableInitCache = false; + std::string platformOptions; + std::string diaglogOutputDir = "./diaglogs/"; ///< Specify a diaglog output directory to save the generated Diaglog files. + + size_t callbackID{}; +}; + + + + + +class PSNPE : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_PSNPE_Delete}; +// struct BuildConfigInternal : public Wrapper{ +// +// }; +public: + PSNPE() + : BaseType(Snpe_PSNPE_Create()) + { } + +private: + + template + static std::unordered_map& getCallbackMap(){ + static std::unordered_map toret; + return toret; + } + template + static std::mutex& getCallbackMapMutex(){ + static std::mutex mtx; + return mtx; + } + + static void outputCallbackTrampoline(Snpe_PSNPE_OutputAsyncCallbackParam_Handle_t paramHandle){ + OutputAsyncCallbackParam param(moveHandle(paramHandle)); + std::function callback; + { + std::lock_guard lk(getCallbackMapMutex()); + callback = getCallbackMap()[param.callbackID]; + } + callback(std::move(param)); + } + static void inputOutputCallbackTrampoline(Snpe_PSNPE_InputOutputAsyncCallbackParam_Handle_t paramHandle){ + InputOutputAsyncCallbackParam param(moveHandle(paramHandle)); + std::function callback; + { + std::lock_guard lk(getCallbackMapMutex()); + callback = getCallbackMap()[param.callbackID]; + } + callback(std::move(param)); + } + + static Snpe_ApplicationBufferMap_Handle_t inputOutputInputCallbackTrampoline( + Snpe_PSNPE_InputOutputInputAsyncCallbackParam_Handle_t paramHandle + ){ + InputOutputInputAsyncCallbackParam param(moveHandle(paramHandle)); + + std::function(InputOutputInputAsyncCallbackParam)> callback; + { + std::lock_guard lk(getCallbackMapMutex()); + callback = getCallbackMap()[param.callbackID]; + } + auto abm = callback(std::move(param)); + return WrapperDetail::HandleReleaser::release(*abm); + } + + template + class CallbackIdManager{ + public: + ~CallbackIdManager(){ + clear(); + } + std::pair registerCallback(WrapperCallbackType func){ + size_t id = get(); + + std::lock_guard lk(getCallbackMapMutex()); + getCallbackMap()[id] = std::move(func); + return {id, CapiCallback}; + } + private: + size_t m_CallbackId{}; + + void clear(){ + if(m_CallbackId){ + std::lock_guard lk(getCallbackMapMutex()); + getCallbackMap().erase(m_CallbackId); + } + } + + size_t get(){ + static std::atomic id{0}; + clear(); + m_CallbackId = ++id; + return m_CallbackId; + } + + }; + CallbackIdManager outputCallbackIdManager; + + CallbackIdManager inputOutputCallbackIdManager; + + CallbackIdManager inputOutputInputCallbackIdManager; + + +public: + + + + bool build(BuildConfig& buildConfig) noexcept{ + // Copy the BuildConfig across the CAPI boundary + + Snpe_BuildConfig_Handle_t bcHandle = Snpe_BuildConfig_Create(); + + Snpe_BuildConfig_SetBuildMode(bcHandle, static_cast(buildConfig.buildMode)); + Snpe_BuildConfig_SetContainer(bcHandle, getHandle(buildConfig.container)); + Snpe_BuildConfig_SetOutputBufferNames(bcHandle, getHandle(buildConfig.outputBufferNames)); + Snpe_BuildConfig_SetOutputTensors(bcHandle, getHandle(buildConfig.outputTensors)); + Snpe_BuildConfig_SetRuntimeConfigList(bcHandle, getHandle(buildConfig.runtimeConfigList)); + + Snpe_BuildConfig_SetInputThreadNumbers(bcHandle, buildConfig.inputThreadNumbers); + Snpe_BuildConfig_SetOutputThreadNumbers(bcHandle, buildConfig.outputThreadNumbers); + + + if(buildConfig.outputCallback){ + auto id_callback = outputCallbackIdManager.registerCallback(buildConfig.outputCallback); + Snpe_BuildConfig_SetOutputCallbackID(bcHandle, id_callback.first); + Snpe_BuildConfig_SetOutputCallback(bcHandle, id_callback.second); + } + + if(buildConfig.inputOutputCallback){ + auto id_callback = inputOutputCallbackIdManager.registerCallback(buildConfig.inputOutputCallback); + Snpe_BuildConfig_SetInputOutputCallbackID(bcHandle, id_callback.first); + Snpe_BuildConfig_SetInputOutputCallback(bcHandle, id_callback.second); + } + + if(buildConfig.inputOutputInputCallback){ + auto id_callback = inputOutputInputCallbackIdManager.registerCallback(buildConfig.inputOutputInputCallback); + Snpe_BuildConfig_SetInputOutputInputCallbackID(bcHandle, id_callback.first); + Snpe_BuildConfig_SetInputOutputInputCallback(bcHandle, id_callback.second); + } + + + Snpe_BuildConfig_SetInputOutputTransmissionMode(bcHandle, + static_cast(buildConfig.inputOutputTransmissionMode)); + + Snpe_BuildConfig_SetProfilingLevel(bcHandle, static_cast(buildConfig.profilingLevel)); + Snpe_BuildConfig_SetEncode(bcHandle, buildConfig.encode[0], buildConfig.encode[1]); + Snpe_BuildConfig_SetEnableInitCache(bcHandle, buildConfig.enableInitCache); + Snpe_BuildConfig_SetPlatformOptions(bcHandle, buildConfig.platformOptions.c_str()); + Snpe_BuildConfig_SetDiaglogOutputDir(bcHandle, buildConfig.diaglogOutputDir.c_str()); + + + auto status = Snpe_PSNPE_Build(handle(), bcHandle); + Snpe_BuildConfig_Delete(bcHandle); + + + return status == SNPE_SUCCESS; + } + + /** + * @brief Execute snpe instances in Async Output mode and Sync mode + * + * @param[in] inputBufferList A list of user buffers that contains the input data + * + * @param[in,out] outputBufferList A list of user buffers that will hold the output data + * + */ + bool execute(UserBufferList& inputBufferList, UserBufferList& outputBufferList) noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_Execute(handle(), getHandle(inputBufferList), getHandle(outputBufferList)); + } + + /** + * @brief Execute snpe instances in Async Input/Output mode + * + * @param[in]inputMap A map of input buffers that contains input data. The names of buffers + * need to be matched with names retrived through getInputTensorNames() + * + * @param dataIndex Index of the input data + * + * @param isTF8buff Whether prefer to using 8 bit quantized element for inference + * + * @return True if executed successfully; flase, otherwise. + */ + bool executeInputOutputAsync(const DlSystem::StringList& inputMap, size_t dataIndex, bool isTF8buff, bool isTF8Outputbuff) noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_ExecuteInputOutputAsync(handle(), getHandle(inputMap), dataIndex, isTF8buff, isTF8Outputbuff); + } + bool executeInputOutputAsync(const std::vector& inputMap, size_t dataIndex, bool isTF8buff, bool isTF8Outputbuff) noexcept{ + DlSystem::StringList sl(inputMap.size()); + for(auto&& e : inputMap) sl.append(e.c_str()); + return executeInputOutputAsync(sl, dataIndex, isTF8buff, isTF8Outputbuff); + } + + bool executeInputOutputAsync(const DlSystem::StringList& inputMap, size_t dataIndex, bool isTF8buff) noexcept{ + return executeInputOutputAsync(inputMap, dataIndex, isTF8buff, isTF8buff); + } + bool executeInputOutputAsync(const std::vector& inputMap, size_t dataIndex, bool isTF8buff) noexcept{ + return executeInputOutputAsync(inputMap, dataIndex, isTF8buff, isTF8buff); + } + + + + /** + * @brief Returns the input layer names of the network. + * + * @return StringList which contains the input layer names + */ + const DlSystem::StringList getInputTensorNames() const noexcept{ + return moveHandle(Snpe_PSNPE_GetInputTensorNames(handle())); + } + + /** + * @brief Returns the output layer names of the network. + * + * @return StringList which contains the output layer names + */ + const DlSystem::StringList getOutputTensorNames() const noexcept{ + return moveHandle(Snpe_PSNPE_GetOutputTensorNames(handle())); + } + + /** + * @brief Returns the input tensor dimensions of the network. + * + * @return TensorShape which contains the dimensions. + */ + const DlSystem::TensorShape getInputDimensions() const noexcept{ + return moveHandle(Snpe_PSNPE_GetInputDimensions(handle())); + } + + const zdl::DlSystem::TensorShape getInputDimensions(const char *name) const noexcept{ + return moveHandle(Snpe_PSNPE_GetInputDimensions_Name(handle(), name)); + } + + /** + * @brief Returns attributes of buffers. + * + * @see zdl::SNPE + * + * @return BufferAttributes of input/output tensor named. + */ + zdl::DlSystem::TensorShape getBufferAttributesDims(const char *name) const noexcept{ + return moveHandle(Snpe_PSNPE_GetBufferAttributesDims(handle(), name)); + } + + DlSystem::Optional getInputOutputBufferAttributes(const char *name) const noexcept{ + return { + new DlSystem::IBufferAttributes(moveHandle(Snpe_PSNPE_GetInputOutputBufferAttributes(handle(), name))), + DlSystem::Optional::LIFECYCLE::POINTER_OWNED + }; + } + /* To be deprecated, please use new api registerMemoryMappedBuffers */ + bool registerIonBuffers(const DlSystem::UserMemoryMap& ionBufferMap) const noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_RegisterIonBuffers(handle(), getHandle(ionBufferMap)); + } + /* To be deprecated, please use new api deregisterMemoryMappedBuffers */ + bool deregisterIonBuffers(const DlSystem::StringList& ionBufferNames) const noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_DeregisterIonBuffers(handle(), getHandle(ionBufferNames)); + } + + bool registerMemoryMappedBuffers(const DlSystem::UserMemoryMap& memoryMappedBufferMap) noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_RegisterUserMemoryMappedBuffers(handle(), getHandle(memoryMappedBufferMap)); + } + + bool deregisterMemoryMappedBuffers(const DlSystem::StringList& bufferNames) noexcept{ + return SNPE_SUCCESS == Snpe_PSNPE_DeregisterUserMemoryMappedBuffers(handle(), getHandle(bufferNames)); + } + + const char* getLastErrorString(){ + return Snpe_PSNPE_GetLastErrorString(handle()); + } + +private: + PSNPE(const PSNPE&) = delete; + PSNPE& operator=(const PSNPE&) = delete; + +}; + +} // ns PSNPE + + + +ALIAS_IN_ZDL_NAMESPACE(PSNPE, BuildMode) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, InputOutputTransmissionMode) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, OutputAsyncCallbackParam) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, InputOutputAsyncCallbackParam) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, InputOutputInputAsyncCallbackParam) + +ALIAS_IN_ZDL_NAMESPACE(PSNPE, OutputAsyncCallbackFunc) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, InputOutputAsyncCallbackFunc) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, InputOutputAsyncInputCallback) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, BuildConfig) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, PSNPE) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.h new file mode 100644 index 00000000..59295d59 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.h @@ -0,0 +1,118 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef _SNPE_RUNTIME_CONFIG_LIST_H_ +#define _SNPE_RUNTIME_CONFIG_LIST_H_ + + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" + +#include "DlSystem/DlEnums.h" +#include "DlSystem/RuntimeList.h" +#include "DlSystem/TensorShapeMap.h" + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void* Snpe_RuntimeConfig_Handle_t; + +SNPE_API +Snpe_RuntimeConfig_Handle_t Snpe_RuntimeConfig_Create(); + +SNPE_API +Snpe_RuntimeConfig_Handle_t Snpe_RuntimeConfig_CreateCopy(Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_Delete(Snpe_RuntimeConfig_Handle_t rcHandle); + + +SNPE_API +Snpe_Runtime_t Snpe_RuntimeConfig_GetRuntime(Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_SetRuntime(Snpe_RuntimeConfig_Handle_t rcHandle, Snpe_Runtime_t runtime); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_SetRuntimeList(Snpe_RuntimeConfig_Handle_t rcHandle, Snpe_RuntimeList_Handle_t rlHandle); + +SNPE_API +Snpe_RuntimeList_Handle_t Snpe_RuntimeConfig_GetRuntimeList_Ref(Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_PerformanceProfile_t Snpe_RuntimeConfig_GetPerformanceProfile(Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_SetPerformanceProfile(Snpe_RuntimeConfig_Handle_t rcHandle, Snpe_PerformanceProfile_t perfProfile); + +SNPE_API +int Snpe_RuntimeConfig_GetEnableCPUFallback(Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_SetEnableCPUFallback(Snpe_RuntimeConfig_Handle_t rcHandle, int enableCpuFallback); + + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfig_SetInputDimensionsMap(Snpe_RuntimeConfig_Handle_t rcHandle, Snpe_TensorShapeMap_Handle_t tsmHandle); + +SNPE_API +Snpe_TensorShapeMap_Handle_t Snpe_RuntimeConfig_GetInputDimensionsMap_Ref(Snpe_RuntimeConfig_Handle_t rcHandle); + + + +typedef void* Snpe_RuntimeConfigList_Handle_t; + +SNPE_API +Snpe_RuntimeConfigList_Handle_t Snpe_RuntimeConfigList_Create(); + +SNPE_API +Snpe_RuntimeConfigList_Handle_t Snpe_RuntimeConfigList_CreateSize(size_t size); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfigList_Delete(Snpe_RuntimeConfigList_Handle_t rclHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfigList_PushBack(Snpe_RuntimeConfigList_Handle_t rclHandle, Snpe_RuntimeConfig_Handle_t rcHandle); + +SNPE_API +Snpe_RuntimeConfig_Handle_t Snpe_RuntimeConfigList_At_Ref(Snpe_RuntimeConfigList_Handle_t rclHandle, size_t idx); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfigList_Assign(Snpe_RuntimeConfigList_Handle_t rclSrcHandle, Snpe_RuntimeConfigList_Handle_t rclDstHandle); + +SNPE_API +size_t Snpe_RuntimeConfigList_Size(Snpe_RuntimeConfigList_Handle_t rclHandle); + +SNPE_API +size_t Snpe_RuntimeConfigList_Capacity(Snpe_RuntimeConfigList_Handle_t rclHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_RuntimeConfigList_Clear(Snpe_RuntimeConfigList_Handle_t rclHandle); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_RUNTIME_CONFIG_LIST_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.hpp new file mode 100644 index 00000000..faf052c5 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/RuntimeConfigList.hpp @@ -0,0 +1,153 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + + +#include "DlSystem/DlEnums.hpp" +#include "DlSystem/RuntimeList.hpp" +#include "DlSystem/TensorShapeMap.hpp" + + +#include "SNPE/RuntimeConfigList.h" + +namespace PSNPE { + + + +struct RuntimeConfig : public Wrapper { +private: + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_RuntimeConfig_Delete}; + + template + using RuntimeReference = WrapperDetail::GenericMemberReference + , + CastingSetter >; + + + template + using RuntimeListReference = WrapperMemberReference< + RuntimeListType, + Snpe_RuntimeList_Handle_t, + Snpe_RuntimeConfig_GetRuntimeList_Ref, + Snpe_RuntimeConfig_SetRuntimeList + >; + + template + using InputDimensionsMapReference = WrapperMemberReference< + InputDimensionsMapType, + Snpe_TensorShapeMap_Handle_t, + Snpe_RuntimeConfig_GetInputDimensionsMap_Ref, + Snpe_RuntimeConfig_SetInputDimensionsMap + >; + + template + using PerfProfileReference = WrapperDetail::GenericMemberReference + , + CastingSetter >; + + template + using EnableCPUFallbackReference = WrapperDetail::GenericMemberReference + , + CastingSetter >; + +public: + RuntimeConfig() + : BaseType(Snpe_RuntimeConfig_Create()) + { } + RuntimeConfig(const RuntimeConfig& other) + : BaseType(Snpe_RuntimeConfig_CreateCopy(other.handle())) + { } + + RuntimeConfig(RuntimeConfig&& other) noexcept + : BaseType(std::move(other)) + { } + + RuntimeConfig& operator=(RuntimeConfig&& other) noexcept{ + return moveAssign(std::move(other)); + } + + + RuntimeReference runtime{*this, DlSystem::Runtime_t::CPU_FLOAT32}; + RuntimeListReference runtimeList{*this}; + PerfProfileReference perfProfile{*this, DlSystem::PerformanceProfile_t::HIGH_PERFORMANCE}; + InputDimensionsMapReference inputDimensionsMap{*this}; + EnableCPUFallbackReference enableCPUFallback{*this, false}; + +}; + + +class RuntimeConfigList : public Wrapper { +private: + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_RuntimeConfigList_Delete}; + +public: + RuntimeConfigList() + : BaseType(Snpe_RuntimeConfigList_Create()) + { } + RuntimeConfigList(size_t size) + : BaseType(Snpe_RuntimeConfigList_CreateSize(size)) + { } + + RuntimeConfigList(RuntimeConfigList&& other) noexcept + : BaseType(std::move(other)) + { } + + RuntimeConfigList& operator=(RuntimeConfigList&& other) noexcept{ + return moveAssign(std::move(other)); + } + RuntimeConfigList& operator=(const RuntimeConfigList& other){ + Snpe_RuntimeConfigList_Assign(other.handle(), handle()); + return *this; + } + + + + void push_back(const RuntimeConfig& runtimeConfig){ + Snpe_RuntimeConfigList_PushBack(handle(), getHandle(runtimeConfig)); + } + + RuntimeConfig& operator[](size_t index){ + return *makeReference(Snpe_RuntimeConfigList_At_Ref(handle(), index)); + } + const RuntimeConfig& operator[](size_t index) const{ + return *makeReference(Snpe_RuntimeConfigList_At_Ref(handle(), index)); + } + + size_t size() const noexcept{ + return Snpe_RuntimeConfigList_Size(handle()); + } + size_t capacity() const noexcept{ + return Snpe_RuntimeConfigList_Capacity(handle()); + } + + void clear() noexcept{ + Snpe_RuntimeConfigList_Clear(handle()); + } + +}; + +} // ns PSNPE + + +ALIAS_IN_ZDL_NAMESPACE(PSNPE, RuntimeConfig) +ALIAS_IN_ZDL_NAMESPACE(PSNPE, RuntimeConfigList) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.h new file mode 100644 index 00000000..eb05473a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.h @@ -0,0 +1,336 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================= +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= + +/** + * @file + */ + +#ifndef _SNPE_SNPE_H_ +#define _SNPE_SNPE_H_ + + +#include "DlSystem/IBufferAttributes.h" +#include "DlSystem/ITensor.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/TensorMap.h" +#include "DlSystem/StringList.h" +#include "DlSystem/IUserBuffer.h" +#include "DlSystem/UserBufferMap.h" +#include "DlSystem/UserMemoryMap.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" + +#include "DiagLog/IDiagLog.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * A typedef to indicate a SNPE handle + */ +typedef void* Snpe_SNPE_Handle_t; + +/** + * Destroys/frees a SNPE object + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_Delete(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Gets the names of input tensors to the network + * + * To support multiple input scenarios, where multiple tensors are + * passed through execute() in a TensorMap, each tensor needs to + * be uniquely named. The names of tensors can be retrieved + * through this function. + * + * In the case of a single input, one name will be returned. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @return A StringList of input tensor names. + * + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_SNPE_GetInputTensorNames(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Gets the names of output tensors to the network + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @return List of output tensor names. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_SNPE_GetOutputTensorNames(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Gets the names of output tensor from the input layer name + * + * @param[in] snpeHandle Handle to access the SNPE object + * @param[in] name Layer name + * + * @return Output tensor names. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_SNPE_GetOutputTensorNamesByLayerName(Snpe_SNPE_Handle_t snpeHandle, const char* name); + + +/** + * @brief Processes the input data and returns the output + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] inputHandle A map of tensors that contains the input data for + * each input. The names of tensors needs to be + * matched with names retrieved through + * getInputTensorNames() + * + * @param[in,out] outputHandle An empty map of tensors that will contain the output + * data of potentially multiple layers (the key + * in the map is the layer name) upon return + * + * @note output TensorMap has to be empty. To forward propagate + * and get results in user-supplied tensors, use + * Snpe_SNPE_ExecuteUserBuffers(). + * + * @return SNPE_SUCCESS upon successful execution + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_ExecuteITensors(Snpe_SNPE_Handle_t snpeHandle, Snpe_TensorMap_Handle_t inputHandle, Snpe_TensorMap_Handle_t outputHandle); + +/** + * @brief Processes the input data and returns the output + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] inputHandle A single tensor contains the input data. + * + * @param[in,out] outputHandle An empty map of tensors that will contain the output + * data of potentially multiple layers (the key + * in the map is the layer name) upon return + * + * @note output TensorMap has to be empty. To forward propagate + * and get results in user-supplied tensors, use + * Snpe_SNPE_ExecuteUserBuffers. + * + * @return SNPE_SUCCESS upon successful execution + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_ExecuteITensor(Snpe_SNPE_Handle_t snpeHandle, Snpe_ITensor_Handle_t inputHandle, Snpe_TensorMap_Handle_t outputHandle); + +/** + * @brief Processes the input data and returns the output, using + * user-supplied buffers + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] inputHandle A map of UserBuffers that contains the input data for + * each input. The names of UserBuffers needs to be + * matched with names retrieved through + * getInputTensorNames() + * + * @param[in,out] outputHandle A map of UserBuffers that will hold the output + * data of potentially multiple layers (the key + * in the map is the UserBuffer name) + * + * @note input and output UserBuffer maps must be fully pre-populated. with + * dimensions matching what the network expects. + * For example, if there are 5 output UserBuffers they all have to be + * present in map. + * + * Caller must guarantee that for the duration of execute(), the buffer + * stored in UserBuffer would remain valid. For more detail on buffer + * ownership and lifetime requirements, please refer to zdl::DlSystem::UserBuffer + * documentation. + * + * @return SNPE_SUCCESS upon successful execution + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_ExecuteUserBuffers(Snpe_SNPE_Handle_t snpeHandle, Snpe_UserBufferMap_Handle_t inputHandle, Snpe_UserBufferMap_Handle_t outputHandle); + + +/** + * @brief Register Client ION Buffers + * + * @note To be deprecated, please use new api Snpe_SNPE_RegisterUserMemoryMappedBuffers + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] ionBufferMapHandle A UserMemoryMap of virtual addresses + * + * @return SNPE_SUCCESS upon successful ION Buffer registration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_RegisterIonBuffers(Snpe_SNPE_Handle_t snpeHandle, Snpe_UserMemoryMap_Handle_t ionBufferMapHandle); + +/** + * @brief Deregister Client ION Buffers + * + * @note To be deprecated, please use new api Snpe_SNPE_DeregisterUserMemoryMappedBuffers + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] ionBufferNamesHandle A StringList of ION Buffer names + * + * @return SNPE_SUCCESS upon successful ION Buffer deregistration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_DeregisterIonBuffers(Snpe_SNPE_Handle_t snpeHandle, Snpe_StringList_Handle_t ionBufferNamesHandle); + +/** + * @brief Register Client Memory-Mapped Buffers (Example ION buffers in Android) + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] bufferMapHandle A UserMemoryMap of virtual addresses + * + * @note UserBuffer type passed for registration must match the data type of the tensor in the dlc + * For regular UserBuffers SNPE performs an online data conversion (quantization or + * dequantization etc). This is not possible for memory mapped buffers hence can lead to + * issues during execution or accuracy degradation + * + * @return SNPE_SUCCESS upon successful memory mapped buffer registration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_RegisterUserMemoryMappedBuffers(Snpe_SNPE_Handle_t snpeHandle, Snpe_UserMemoryMap_Handle_t bufferMapHandle); + +/** + * @brief Deregister Client Memory-Mapped Buffers (Example ION buffers in Android) + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] bufferNamesHandle A StringList of memory mapped buffer names + * + * @return SNPE_SUCCESS upon successful memory mapped buffer deregistration + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPE_DeregisterUserMemoryMappedBuffers(Snpe_SNPE_Handle_t snpeHandle, Snpe_StringList_Handle_t bufferNamesHandle); + +/** + * @brief Returns the version string embedded at model conversion + * time. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @return Model version string, which is a free-form string + * supplied at the time of the conversion + * + */ +SNPE_API +const char* Snpe_SNPE_GetModelVersion(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Returns the dimensions of the input data to the model in the + * form of TensorShape. The dimensions in TensorShape corresponds to + * what the tensor dimensions would need to be for an input tensor to + * the model. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] name input name. + * + * @note Note that this function only makes sense for networks + * that have a fixed input size. For networks in which the + * input size varies with each call of Execute(), this + * function should not be used. + * + * @return a TensorShape that maintains dimensions, + * matching the tensor dimensions for input to the model, + * where the last entry is the fastest varying dimension, etc. + * + * @see Snpe_ITensor_Handle_t + * @see Snpe_TensorShape_Handle_t + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_SNPE_GetInputDimensions(Snpe_SNPE_Handle_t snpeHandle, const char* name); + +/** + * @brief Returns the dimensions of the first input's data to the model in the + * form of TensorShape. The dimensions in TensorShape corresponds to + * what the tensor dimensions would need to be for an input tensor to + * the model. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @note Note that this function only makes sense for networks + * that have a fixed input size. For networks in which the + * input size varies with each call of Execute(), this + * function should not be used. + * + * @return a TensorShape that maintains dimensions, + * matching the tensor dimensions for first input to the model, + * where the last entry is the fastest varying dimension, etc. + * + * @see Snpe_ITensor_Handle_t + * @see Snpe_TensorShape_Handle_t + */ +SNPE_API +Snpe_TensorShape_Handle_t Snpe_SNPE_GetInputDimensionsOfFirstTensor(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Gets the output layer(s) for the network. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @note The output layers returned by this function may be + * different than those specified when the network was created + * via the @ref CAPI_SNPEBuilder "SNPEBuilder". For example, if the + * network was created in debug mode with no explicit output + * layers specified, this will contain all layers. + * + * + * @return A StringList of output layer names. + */ +SNPE_API +Snpe_StringList_Handle_t Snpe_SNPE_GetOutputLayerNames(Snpe_SNPE_Handle_t snpeHandle); + +/** + * @brief Returns attributes of buffers used to feed input tensors and receive result from output tensors. + * + * @param[in] snpeHandle Handle to access the SNPE object + * + * @param[in] name Tensor name. + * + * @return BufferAttributes of input/output tensor named + */ +SNPE_API +Snpe_IBufferAttributes_Handle_t Snpe_SNPE_GetInputOutputBufferAttributes(Snpe_SNPE_Handle_t snpeHandle, const char *name); + +/** + * @brief . + * + * Get the diagnostic logging interface + * + * @param[in] snpeHandle Handle to access the SNPE object + * + */ +SNPE_API +Snpe_IDiagLog_Handle_t Snpe_SNPE_GetDiagLogInterface_Ref(Snpe_SNPE_Handle_t snpeHandle); + + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.hpp new file mode 100644 index 00000000..d4ad18df --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPE.hpp @@ -0,0 +1,125 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "DlSystem/StringList.hpp" +#include "DlSystem/TensorMap.hpp" +#include "DlSystem/UserBufferMap.hpp" +#include "DlSystem/UserMemoryMap.hpp" +#include "DlSystem/IBufferAttributes.hpp" +#include "DiagLog/IDiagLog.hpp" + +#include "DlSystem/DlOptional.hpp" + + +#include "SNPE/SNPE.h" + +namespace SNPE{ + +class SNPE : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_SNPE_Delete}; + + template + static DlSystem::Optional makeOptional(H handle){ + return DlSystem::Optional(T(moveHandle(handle))); + } +public: + + DlSystem::Optional getInputTensorNames() const noexcept{ + return makeOptional(Snpe_SNPE_GetInputTensorNames(handle())); + } + + DlSystem::Optional getOutputTensorNames() const noexcept{ + return makeOptional(Snpe_SNPE_GetOutputTensorNames(handle())); + } + + DlSystem::StringList getOutputTensorNamesByLayerName(const char *name) const noexcept{ + return moveHandle(Snpe_SNPE_GetOutputTensorNamesByLayerName(handle(), name)); + } + + bool execute(const DlSystem::TensorMap& input, DlSystem::TensorMap& output) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_ExecuteITensors(handle(), getHandle(input), getHandle(output)); + } + + + bool execute(const DlSystem::ITensor* input, DlSystem::TensorMap& output) noexcept{ + if(!input) return false; + return SNPE_SUCCESS == Snpe_SNPE_ExecuteITensor(handle(), getHandle(*input), getHandle(output)); + } + + bool execute(const DlSystem::UserBufferMap& input, const DlSystem::UserBufferMap& output) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_ExecuteUserBuffers(handle(), getHandle(input), getHandle(output)); + } + + + /* To be deprecated, please use new api registerMemoryMappedBuffers */ + bool registerIonBuffers(const DlSystem::UserMemoryMap& ionBufferMap) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_RegisterUserMemoryMappedBuffers(handle(), getHandle(ionBufferMap)); + } + + /* To be deprecated, please use new api deregisterMemoryMappedBuffers */ + bool deregisterIonBuffers(const DlSystem::StringList& ionBufferNames) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_DeregisterUserMemoryMappedBuffers(handle(), getHandle(ionBufferNames)); + } + + bool registerMemoryMappedBuffers(const DlSystem::UserMemoryMap& memoryMappedBufferMap) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_RegisterUserMemoryMappedBuffers(handle(), getHandle(memoryMappedBufferMap)); + } + + bool deregisterMemoryMappedBuffers(const DlSystem::StringList& bufferNames) noexcept{ + return SNPE_SUCCESS == Snpe_SNPE_DeregisterUserMemoryMappedBuffers(handle(), getHandle(bufferNames)); + } + + std::string getModelVersion() const{ + auto str = Snpe_SNPE_GetModelVersion(handle()); + return str ? str : ""; + } + + DlSystem::Optional getInputDimensions() const noexcept{ + return makeOptional(Snpe_SNPE_GetInputDimensionsOfFirstTensor(handle())); + } + + DlSystem::Optional getInputDimensions(const char* name) const noexcept{ + return makeOptional(Snpe_SNPE_GetInputDimensions(handle(), name)); + } + + DlSystem::Optional getOutputLayerNames() const noexcept{ + return makeOptional(Snpe_SNPE_GetOutputLayerNames(handle())); + } + + + DlSystem::Optional getInputOutputBufferAttributes(const char* name) const noexcept{ + return DlSystem::Optional( + new DlSystem::IBufferAttributes(moveHandle(Snpe_SNPE_GetInputOutputBufferAttributes(handle(), name))), + DlSystem::Optional::LIFECYCLE::POINTER_OWNED + ); + } + + DlSystem::Optional getDiagLogInterface() noexcept{ + auto diagLogHandle = Snpe_SNPE_GetDiagLogInterface_Ref(handle()); + if(!diagLogHandle) return {}; + // Bind lifespan of this reference to this object + auto toret = makeReference(diagLogHandle); + return {toret, DlSystem::Optional::LIFECYCLE::POINTER_NOT_OWNED}; + } + +private: + SNPE(const SNPE&) = delete; + SNPE& operator=(const SNPE&) = delete; + +}; + +} // ns SNPE + +ALIAS_IN_ZDL_NAMESPACE(SNPE, SNPE) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.h new file mode 100644 index 00000000..6adcebad --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.h @@ -0,0 +1,334 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _SNPE_BUILDER_H_ +#define _SNPE_BUILDER_H_ + +#include "SNPE/SNPE.h" +#include "DlSystem/DlEnums.h" +#include "DlSystem/DlError.h" +#include "DlSystem/IOBufferDataTypeMap.h" +#include "DlSystem/TensorShapeMap.h" +#include "DlSystem/RuntimeList.h" +#include "DlSystem/PlatformConfig.h" +#include "DlContainer/DlContainer.h" + +#ifdef __cplusplus +extern "C" { +#endif + + + +/** + * A typedef to indicate a SNPEBuilder handle + */ +typedef void* Snpe_SNPEBuilder_Handle_t; + +/** + * The builder class for creating SNPE objects. + * Not meant to be extended. + */ + + +/** + * @brief Constructor of NeuralNetwork Builder ith a supplied model. + * + * @param[in] containerHandle A DlContainer holding the model. + * + * @return A new instance of a SNPEBuilder object + * that can be used to configure and build + * an instance of SNPE. + * + */ +SNPE_API +Snpe_SNPEBuilder_Handle_t Snpe_SNPEBuilder_Create(Snpe_DlContainer_Handle_t containerHandle); + +/** + * Destroys/frees a SNPEBuilder object + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @return SNPE_SUCCESS if Delete operation successful. + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_Delete(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle); + +/** + * @brief Requests a performance profile. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] performanceProfile The target performance profile. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetPerformanceProfile(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_PerformanceProfile_t performanceProfile); + +/** + * @brief Sets the profiling level. Default profiling level for + * SNPEBuilder is off. Off and basic only applies to DSP runtime. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] profilingLevel The target profiling level. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetProfilingLevel(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_ProfilingLevel_t profilingLevel); + +/** + * @brief Sets a preference for execution priority. + * + * This allows the caller to give coarse hint to SNPE runtime + * about the priority of the network. SNPE runtime is free to use + * this information to co-ordinate between different workloads + * that may or may not extend beyond SNPE. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] priority The target performance profile. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetExecutionPriorityHint(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_ExecutionPriorityHint_t priority); + +/** + * @brief Sets the layers that will generate output. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] outputLayerNames List of layer names to + * output. An empty list will + * result in only the final + * layer of the model being + * the output layer. The list + * will be copied. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetOutputLayers(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_StringList_Handle_t outputLayerNames); + +/** + * @brief Sets the output tensor names. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] outputTensorNames List of tensor names to + * output. An empty list will + * result in producing output for the final + * output tensor of the model. + * The list will be copied. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetOutputTensors(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_StringList_Handle_t outputTensorNames); + +/** + * @brief Sets whether this neural network will perform inference with + * input from user-supplied buffers, and write output to user-supplied + * buffers. Default behaviour is to use tensors created by + * ITensorFactory. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] bufferMode Boolean whether to use user-supplied buffer or not. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetUseUserSuppliedBuffers(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, int bufferMode); + +/** + * @brief Sets the debug mode of the runtime. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] debugMode This enables debug mode for the runtime. It + * does two things. For an empty + * outputLayerNames list, all layers will be + * output. It might also disable some internal + * runtime optimizations (e.g., some networks + * might be optimized by combining layers, + * etc.). + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetDebugMode(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, int debugMode); + + + +/** + * @brief Sets network's input dimensions to enable resizing of + * the spatial dimensions of each layer for fully convolutional networks, + * and the batch dimension for all networks. + * + * @param[in] tensorShapeMapHandle : Handle to the map of input names and their new dimensions. + * The new dimensions overwrite the input dimensions + * embedded in the model and then resize each layer + * of the model. If the model contains + * layers whose dimensions cannot be resized e.g FullyConnected, + * exception will be thrown when SNPE instance is actually built. + * In general the batch dimension is always resizable. + * After resizing of layers' dimensions in model based + * on new input dimensions, the new model is revalidated + * against all runtime constraints, whose failures may + * result in cpu fallback situation. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetInputDimensions(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_TensorShapeMap_Handle_t inputDimensionsMapHandle); + +/** + * @brief Sets the mode of init caching functionality. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] mode Boolean. This flag enables/disables the functionality of init caching. + * When init caching functionality is enabled, a set of init caches + * will be created during network building/initialization process + * and will be added to DLC container. If such DLC container is saved + * by the user, in subsequent network building/initialization processes + * these init caches will be loaded from the DLC so as to reduce initialization time. + * In disable mode, no init caches will be added to DLC container. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetInitCacheMode(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, int cacheMode); + +/** + * @brief Returns an instance of SNPE based on the current parameters. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @return A new instance of a @ref CAPI_SNPE "SNPE" object that can be used + * to execute models or null if any errors occur. + */ +SNPE_API +Snpe_SNPE_Handle_t Snpe_SNPEBuilder_Build(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle); + +/** + * @brief Sets the platform configuration. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] platformConfig The platform configuration. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetPlatformConfig(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_PlatformConfig_Handle_t platformConfigHandle); + +/** + * @brief Sets network's runtime order of precedence. Example: + * CPU_FLOAT32, GPU_FLOAT16, AIP_FIXED8_TF + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] runtimeListHandle The list of runtime in order of precedence + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetRuntimeProcessorOrder(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_RuntimeList_Handle_t runtimeListHandle); + +/** + * @brief Sets the unconsumed tensors as output + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] setOutput Boolean. This enables unconsumed tensors (i.e) + * outputs which are not inputs to any + * layer (basically dead ends) to be marked + * for output + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetUnconsumedTensorsAsOutputs(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, int setOutput); + +/** + * @brief Execution terminated when exceeding time limit. + * Only valid for dsp runtime currently. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] timeout Time limit value in microseconds + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetTimeOut(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, uint64_t timeoutMicroSec); + + +/** + * @brief Sets the datatype of the buffer. + * Only valid for dsp runtime currently. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] dataTypeMapHandle Map of the buffer names and the datatype that needs to be set. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetBufferDataType(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, Snpe_IOBufferDataTypeMap_Handle_t dataTypeMapHandle); + +/** + * @brief Sets up the entire initialization callflow to + * happen on the user's thread + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] singleThreadedInit Flag indicating user's intent to perform initialization callflow + * on caller's thread. + * When set to 1, initialization will happen on the user's thread + * When set to 0, initialization will happen on a new thread. This is the default + * behavior (analogous to not calling this API) +*/ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetSingleThreadedInit(Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, int singleThreadedInit); + +/** + * @brief Sets the fixed point execution mode for CPU runtime. + * If a floating point DLC is executed with this option set, the program will be terminated with an exception. + * If a quantized DLC is executed without this option set, the execution will be in floating point mode in CPU. + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] cpuFxpMode Boolean If set to true, enables the fixed point mode. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetCpuFixedPointMode( + Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, bool cpuFxpMode); + +/** + * @brief Sets model name for logging + * + * @param[in] snpeBuilderHandle Handle to access the SNPEBuilder object + * + * @param[in] modelName String Model name for logging. + * + */ +SNPE_API +Snpe_ErrorCode_t Snpe_SNPEBuilder_SetModelName( + Snpe_SNPEBuilder_Handle_t snpeBuilderHandle, const char *modelName); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_BUILDER_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.hpp new file mode 100644 index 00000000..37995f4e --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEBuilder.hpp @@ -0,0 +1,136 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include + + +#include "Wrapper.hpp" +#include "SNPE.hpp" +#include "DlSystem/RuntimeList.hpp" +#include "DlContainer/IDlContainer.hpp" +#include "DlSystem/PlatformConfig.hpp" +#include "DlSystem/TensorShapeMap.hpp" + +#include "DlSystem/DlEnums.hpp" + +#include "DlSystem/IOBufferDataTypeMap.hpp" + +#include "SNPE/SNPEBuilder.h" + + +namespace SNPE { + +class SNPEBuilder : public Wrapper { + friend BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_SNPEBuilder_Delete}; +public: + + explicit SNPEBuilder(DlContainer::IDlContainer *container) + : BaseType(Snpe_SNPEBuilder_Create(getHandle(container))) + { } + + + SNPEBuilder& setPerformanceProfile(DlSystem::PerformanceProfile_t performanceProfile){ + Snpe_SNPEBuilder_SetPerformanceProfile(handle(), static_cast(performanceProfile)); + return *this; + } + + SNPEBuilder& setProfilingLevel(DlSystem::ProfilingLevel_t profilingLevel){ + Snpe_SNPEBuilder_SetProfilingLevel(handle(), static_cast(profilingLevel)); + return *this; + } + + SNPEBuilder& setExecutionPriorityHint(DlSystem::ExecutionPriorityHint_t priority){ + Snpe_SNPEBuilder_SetExecutionPriorityHint(handle(), static_cast(priority)); + return *this; + } + + SNPEBuilder& setOutputLayers(const DlSystem::StringList& outputLayerNames){ + Snpe_SNPEBuilder_SetOutputLayers(handle(), getHandle(outputLayerNames)); + return *this; + } + + SNPEBuilder& setOutputTensors(const DlSystem::StringList& outputTensorNames){ + Snpe_SNPEBuilder_SetOutputTensors(handle(), getHandle(outputTensorNames)); + return *this; + } + + SNPEBuilder& setUseUserSuppliedBuffers(int bufferMode){ + Snpe_SNPEBuilder_SetUseUserSuppliedBuffers(handle(), bufferMode); + return *this; + } + + SNPEBuilder& setDebugMode(int debugMode){ + Snpe_SNPEBuilder_SetDebugMode(handle(), debugMode); + return *this; + } + + SNPEBuilder& setInputDimensions(const DlSystem::TensorShapeMap& inputDimensionsMap){ + Snpe_SNPEBuilder_SetInputDimensions(handle(), getHandle(inputDimensionsMap)); + return *this; + } + + SNPEBuilder& setInitCacheMode(int cacheMode){ + Snpe_SNPEBuilder_SetInitCacheMode(handle(), cacheMode); + return *this; + } + + SNPEBuilder& setPlatformConfig(const DlSystem::PlatformConfig& platformConfigHandle){ + Snpe_SNPEBuilder_SetPlatformConfig(handle(), getHandle(platformConfigHandle)); + return *this; + } + + SNPEBuilder& setRuntimeProcessorOrder(const DlSystem::RuntimeList& runtimeList){ + Snpe_SNPEBuilder_SetRuntimeProcessorOrder(handle(), getHandle(runtimeList)); + return *this; + } + + SNPEBuilder& setUnconsumedTensorsAsOutputs(int setOutput){ + Snpe_SNPEBuilder_SetUnconsumedTensorsAsOutputs(handle(), setOutput); + return *this; + } + + SNPEBuilder& setTimeOut(uint64_t timeoutMicroSec){ + Snpe_SNPEBuilder_SetTimeOut(handle(), timeoutMicroSec); + return *this; + } + + + SNPEBuilder& setBufferDataType(const DlSystem::IOBufferDataTypeMap& dataTypeMap){ + Snpe_SNPEBuilder_SetBufferDataType(handle(), getHandle(dataTypeMap)); + return *this; + } + + SNPEBuilder& setSingleThreadedInit(int singleThreadedInit){ + Snpe_SNPEBuilder_SetSingleThreadedInit(handle(), singleThreadedInit); + return *this; + } + + SNPEBuilder& setCpuFixedPointMode(bool cpuFxpMode){ + Snpe_SNPEBuilder_SetCpuFixedPointMode(handle(), cpuFxpMode); + return *this; + } + + SNPEBuilder& setModelName(DlSystem::String modelName){ + Snpe_SNPEBuilder_SetModelName(handle(), modelName.c_str()); + return *this; + } + + std::unique_ptr build() noexcept{ + auto h = Snpe_SNPEBuilder_Build(handle()); + return h ? makeUnique(h) : nullptr; + } + +}; + +} // ns SNPE + + +ALIAS_IN_ZDL_NAMESPACE(SNPE, SNPEBuilder) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEFactory.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEFactory.hpp new file mode 100644 index 00000000..6c2486ee --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEFactory.hpp @@ -0,0 +1,88 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" + +#include "DlSystem/DlEnums.hpp" +#include "DlSystem/DlVersion.hpp" +#include "DlSystem/ITensorFactory.hpp" +#include "DlSystem/IUserBufferFactory.hpp" + + +#include "SNPE/SNPEUtil.h" +#include "DlSystem/DlEnums.h" + +namespace SNPE { + + +class SNPEFactory { +public: + + + static bool isRuntimeAvailable(DlSystem::Runtime_t runtime){ + return Snpe_Util_IsRuntimeAvailable(static_cast(runtime)); + } + + static bool isRuntimeAvailable(DlSystem::Runtime_t runtime, DlSystem::RuntimeCheckOption_t option){ + return Snpe_Util_IsRuntimeAvailableCheckOption(static_cast(runtime), + static_cast(option)); + } + + static DlSystem::ITensorFactory& getTensorFactory(){ + static DlSystem::ITensorFactory iTensorFactory; + return iTensorFactory; + } + + static DlSystem::IUserBufferFactory& getUserBufferFactory(){ + static DlSystem::IUserBufferFactory iUserBufferFactory; + return iUserBufferFactory; + } + + static DlSystem::Version_t getLibraryVersion(){ + return WrapperDetail::moveHandle(Snpe_Util_GetLibraryVersion()); + } + + static bool setSNPEStorageLocation(const char* storagePath){ + return SNPE_SUCCESS == Snpe_Util_SetSNPEStorageLocation(storagePath); + } + + static bool addOpPackage(const std::string& regLibraryPath){ + return SNPE_SUCCESS == Snpe_Util_AddOpPackage(regLibraryPath.c_str()); + } + + static bool isGLCLInteropSupported(){ + return Snpe_Util_IsGLCLInteropSupported(); + } + + static const char* getLastError(){ + return Snpe_Util_GetLastError(); + } + + static bool initializeLogging(const DlSystem::LogLevel_t& level){ + return Snpe_Util_InitializeLogging(static_cast(level)); + } + + static bool initializeLogging(const DlSystem::LogLevel_t& level, const std::string& logPath){ + return Snpe_Util_InitializeLoggingPath(static_cast(level), logPath.c_str()); + } + + static bool setLogLevel(const DlSystem::LogLevel_t& level){ + return Snpe_Util_SetLogLevel(static_cast(level)); + } + + static bool terminateLogging(){ + return Snpe_Util_TerminateLogging(); + } +}; + + +} // ns SNPE + + +ALIAS_IN_ZDL_NAMESPACE(SNPE, SNPEFactory) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEUtil.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEUtil.h new file mode 100644 index 00000000..a3e1d1e1 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/SNPEUtil.h @@ -0,0 +1,354 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022-2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +/** + * @file + */ + +#ifndef _SNPE_UTIL_H_ +#define _SNPE_UTIL_H_ + +#include "SNPE/SNPE.h" +#include "DlSystem/DlEnums.h" +#include "DlSystem/DlError.h" +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/IUserBuffer.h" +#include "DlSystem/ITensor.h" +#include "DlSystem/TensorShape.h" +#include "DlSystem/DlVersion.h" + +#ifdef __cplusplus +extern "C" { +#endif + + +/** + * @brief Creates a UserBuffer + * + * @param[in] buffer Pointer to the buffer that the caller supplies + * + * @param[in] bufSize Buffer size, in bytes + * + * @param[in] stridesHandle Total number of bytes between elements in each dimension. + * E.g. A tightly packed tensor of floats with dimensions [4, 3, 2] would have strides of [24, 8, 4]. + * + * @param[in] userBufferEncodingHandle Handle to a UserBufferEncoding object + * + * @note Caller has to ensure that memory pointed to by buffer stays accessible + * for the lifetime of the object created + * + * @return Handle to the created UserBuffer + */ +SNPE_API +Snpe_IUserBuffer_Handle_t Snpe_Util_CreateUserBuffer(void *buffer, + size_t bufSize, + Snpe_TensorShape_Handle_t stridesHandle, + Snpe_IUserBuffer_Handle_t userBufferEncodingHandle); + +/** + * @brief Creates a UserBuffer with a provided UserBufferSource + * + * @param[in] buffer Pointer to the buffer that the caller supplies + * + * @param[in] bufSize Buffer size, in bytes + * + * @param[in] stridesHandle Total number of bytes between elements in each dimension. + * E.g. A tightly packed tensor of floats with dimensions [4, 3, 2] would have strides of [24, 8, 4]. + * + * @param[in] userBufferEncodingHandle Handle to a UserBufferEncoding object + * + * @param[in] userBufferSourceHandle Handle to a UserBufferSource object + * + * @return Handle to the created UserBuffer + */ +SNPE_API +Snpe_IUserBuffer_Handle_t Snpe_Util_CreateUserBufferFromSource(void *buffer, + size_t bufSize, + Snpe_TensorShape_Handle_t stridesHandle, + Snpe_IUserBuffer_Handle_t userBufferEncodingHandle, + Snpe_UserBufferSource_Handle_t userBufferSourceHandle); + +/** + * @brief Creates a UserBuffer + * + * @param[in] buffer Pointer to the buffer that the caller supplies + * + * @param[in] bufSize Buffer size, in bytes + * + * @param[in] stridesHandle Total number of bytes between elements in each dimension. + * E.g. A tightly packed tensor of floats with dimensions [4, 3, 2] would have strides of [24, 8, 4]. + * + * @param[in] userBufferEncodingHandle Reference to an UserBufferEncoding object + * + * @param[in] userBufferSourceHandle Reference to an UserBufferSource object + * + * @note Caller has to ensure that memory pointed to by buffer stays accessible + * for the lifetime of the object created + * + * @return the created UserBuffer + * + */ +SNPE_API +Snpe_IUserBuffer_Handle_t Snpe_Util_CreateUserGlBuffer(void *buffer, + size_t bufSize, + Snpe_TensorShape_Handle_t stridesHandle, + Snpe_IUserBuffer_Handle_t userBufferEncodingHandle, + Snpe_IUserBuffer_Handle_t userBufferSourceHandle); + +/** + * Creates a new ITensor with uninitialized data. + * + * ITensor buffer size assumes float32 encoding for each element. + * (i.e., a tensor with dimensions (2,3) will be represented by (2 * 3) * 4 = 24 bytes in memory) + * + * The strides for the tensor will match the tensor dimensions + * (i.e., the tensor data is contiguous in memory). + * + * @param[in] shapeHandle The dimensions for the tensor in which the last + * element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying, etc. + * + * @return The created tensor + */ +SNPE_API +Snpe_ITensor_Handle_t Snpe_Util_CreateITensor(Snpe_TensorShape_Handle_t shapeHandle); + +/** + * Create a new ITensor with specific data. + * (i.e. the tensor data is contiguous in memory). This tensor is + * primarily used to create a tensor where tensor size can't be + * computed directly from dimension. One such example is + * NV21-formatted image, or any YUV formatted image + * + * @param[in] shapeHandle The dimensions for the tensor in which the last + * element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying, etc. + * + * @param[in] data The actual data with which the Tensor object is filled. + * + * @param[in] dataSize The size of data + * + * @return A handle to the created tensor + */ +SNPE_API +Snpe_ITensor_Handle_t Snpe_Util_CreateITensorDataSize(Snpe_TensorShape_Handle_t shapeHandle, const uint8_t* data, size_t dataSize); + +/** + * Create a new ITensor with specific data. + * (i.e. the tensor data is contiguous in memory). This tensor is + * primarily used to create a tensor where tensor size can't be + * computed directly from dimension. One such example is + * NV21-formatted image, or any YUV formatted image + * + * @param[in] shapeHandle The dimensions for the tensor in which the last + * element of the vector represents the fastest varying + * dimension and the zeroth element represents the slowest + * varying, etc. + * + * @param[in] data The actual data with which the Tensor object is filled. + * + * @param[in] dataSize The size of data + * + * @return the created tensor + */ +SNPE_API +Snpe_ITensor_Handle_t Snpe_Util_CreateITensor_NV21(Snpe_TensorShape_Handle_t shapeHandle, unsigned char *data, size_t dataSize); + +/** + * Indicates whether the supplied runtime is available on the + * current platform. + * + * @param[in] runtime The target runtime to check. + * + * @return Boolean: Non-zero if the supplied runtime is available; 0 otherwise + * + */ +SNPE_API +int Snpe_Util_IsRuntimeAvailable(Snpe_Runtime_t runtime); + +/** + * Indicates whether the supplied runtime is available on the + * current platform. + * + * @param[in] runtime The target runtime to check. + * + * @param[in] runtimeCheckOption Extent to perform runtime available check. + * + * @return Boolean: Non-zero if the supplied runtime is available; 0 otherwise + * + */ +SNPE_API +int Snpe_Util_IsRuntimeAvailableCheckOption(Snpe_Runtime_t runtime, Snpe_RuntimeCheckOption_t runtimeCheckOption); + + +/** + * Gets the version of the SNPE library. + * + * @return Version of the SNPE library. + * + */ +SNPE_API +Snpe_DlVersion_Handle_t Snpe_Util_GetLibraryVersion(); + +/** + * Set the SNPE storage location for all SNPE instances in this + * process. Note that this may only be called once, and if so + * must be called before creating any SNPE instances. + * + * @param[in] storagePath Absolute path to a directory which SNPE may + * use for caching and other storage purposes. + * + * @return Boolean: Non-zero if the supplied path was succesfully set as + * the SNPE storage location, 0 otherwise. + * + */ +SNPE_API +int Snpe_Util_SetSNPEStorageLocation(const char* storagePath); + +/** + * @brief Register a user-defined op package with SNPE. + * + * @param[in] regLibraryPath Path to the registration library + * that allows clients to register a set of operations that are + * part of the package, and share op info with SNPE + * + * @return Boolean: Non-zero if successful, 0 otherwise. + */ +SNPE_API +int Snpe_Util_AddOpPackage(const char* regLibraryPath ); + +/** + * Indicates whether the OpenGL and OpenCL interoperability is supported + * on GPU platform. + * + * @return Boolean: Non-zero if the OpenGL and OpenCl interop is supported; 0 otherwise + * + */ +SNPE_API +int Snpe_Util_IsGLCLInteropSupported(); + +/** + * @return A string description of the last error + */ +SNPE_API +const char* Snpe_Util_GetLastError(); + +/** + * Initializes logging with the specified log level. + * initializeLogging with level, is used on Android platforms + * and after successful initialization, SNPE + * logs are printed in android logcat logs. + * + * It is recommended to initializeLogging before creating any + * SNPE instances, in order to capture information related to + * core initialization. If this is called again after first + * time initialization, subsequent calls are ignored. + * Also, Logging can be re-initialized after a call to + * terminateLogging API by calling initializeLogging again. + * + * A typical usage of Logging life cycle can be + * initializeLogging() + * any other SNPE API like isRuntimeAvailable() + * * setLogLevel() - optional - can be called anytime + * between initializeLogging & terminateLogging + * SNPE instance creation, inference, destroy + * terminateLogging(). + * + * Please note, enabling logging can have performance impact. + * + * @param[in] level Log level (LOG_INFO, LOG_WARN, etc.). + * + * @return Boolean: non-zero if successful, 0 otherwise. + */ +SNPE_API +int Snpe_Util_InitializeLogging(Snpe_LogLevel_t level); + +/** + * Initializes logging with the specified log level and log path. + * initializeLogging with level & log path, is used on non Android + * platforms and after successful initialization, SNPE + * logs are printed in std output & into log files created in the + * log path. + * + * It is recommended to initializeLogging before creating any + * SNPE instances, in order to capture information related to + * core initialization. If this is called again after first + * time initialization, subsequent calls are ignored. + * Also, Logging can be re-initialized after a call to + * terminateLogging API by calling initializeLogging again. + * + * A typical usage of Logging life cycle can be + * initializeLogging() + * any other SNPE API like isRuntimeAvailable() + * * setLogLevel() - optional - can be called anytime + * between initializeLogging & terminateLogging + * SNPE instance creation, inference, destroy + * terminateLogging() + * + * Please note, enabling logging can have performance impact + * + * @param[in] level Log level (LOG_INFO, LOG_WARN, etc.). + * + * @param[in] logPath of directory to store logs. + * If path is empty, the default path is "./Log". + * For android, the log path is ignored. + * + * @return Boolean: non-zero if successful, 0 otherwise. + */ +SNPE_API +int Snpe_Util_InitializeLoggingPath(Snpe_LogLevel_t level, const char* logPath); + +/** + * Updates the current logging level with the specified level. + * setLogLevel is optional, called anytime after initializeLogging + * and before terminateLogging, to update the log level set. + * Log levels can be updated multiple times by calling setLogLevel + * A call to setLogLevel() is ignored if it is made before + * initializeLogging() or after terminateLogging() + * + * @param[in] level Log level (LOG_INFO, LOG_WARN, etc.). + * + * @return Boolean: non-zero if successful, 0 otherwise. + */ +SNPE_API +int Snpe_Util_SetLogLevel(Snpe_LogLevel_t level); + +/** + * Terminates logging. + * + * It is recommended to terminateLogging after initializeLogging + * in order to disable logging information. + * If this is called before initialization or after first time termination, + * calls are ignored. + * + * @warning Snpe_Util_TerminateLogging() must not be called while another thread is executing. + * In a multi-threaded use case, the individual threads must have a cooperative life cycle + * management strategy for the logger. + * + * @return Boolean: non-zero if successful, 0 otherwise. + */ +SNPE_API +int Snpe_Util_TerminateLogging(); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_UTIL_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.h new file mode 100644 index 00000000..e6a42ddb --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.h @@ -0,0 +1,77 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2022,2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef _SNPE_USER_BUFFER_LIST_H_ +#define _SNPE_USER_BUFFER_LIST_H_ + + +#ifdef __cplusplus +#include +#else +#include +#endif + +#include "DlSystem/SnpeApiExportDefine.h" +#include "DlSystem/DlError.h" + +#include "DlSystem/UserBufferMap.h" + +#ifdef __cplusplus +extern "C" { +#endif + +typedef void* Snpe_UserBufferList_Handle_t; + +SNPE_API +Snpe_UserBufferList_Handle_t Snpe_UserBufferList_Create(); + +SNPE_API +Snpe_UserBufferList_Handle_t Snpe_UserBufferList_CreateCopy(Snpe_UserBufferList_Handle_t userBufferListHandle); + +SNPE_API +Snpe_UserBufferList_Handle_t Snpe_UserBufferList_CreateSize(size_t size); + +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferList_Delete(Snpe_UserBufferList_Handle_t userBufferListHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferList_PushBack(Snpe_UserBufferList_Handle_t userBufferListHandle, + Snpe_UserBufferMap_Handle_t userBufferMapHandle); + +SNPE_API +Snpe_UserBufferMap_Handle_t Snpe_UserBufferList_At_Ref(Snpe_UserBufferList_Handle_t userBufferListHandle, + size_t idx); + +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferList_Assign(Snpe_UserBufferList_Handle_t srcUserBufferListHandle, + Snpe_UserBufferList_Handle_t dstUserBufferListHandle); + +SNPE_API +size_t Snpe_UserBufferList_Size(Snpe_UserBufferList_Handle_t userBufferListHandle); + +SNPE_API +size_t Snpe_UserBufferList_Capacity(Snpe_UserBufferList_Handle_t userBufferListHandle); + +SNPE_API +Snpe_ErrorCode_t Snpe_UserBufferList_Clear(Snpe_UserBufferList_Handle_t userBufferListHandle); + + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif // _SNPE_USER_BUFFER_LIST_H_ diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.hpp new file mode 100644 index 00000000..fec82dbc --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SNPE/UserBufferList.hpp @@ -0,0 +1,76 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#include "Wrapper.hpp" +#include "DlSystem/UserBufferMap.hpp" + +#include "SNPE/UserBufferList.h" + + +namespace PSNPE { + +class UserBufferList : public Wrapper { + friend BaseType; + // Use this to get free move Ctor and move assignment operator, provided this class does not specify + // as copy assignment operator or copy Ctor + using BaseType::BaseType; + + static constexpr DeleteFunctionType DeleteFunction{Snpe_UserBufferList_Delete}; + +public: + UserBufferList() + : BaseType(Snpe_UserBufferList_Create()) + { } + explicit UserBufferList(size_t size) + : BaseType(Snpe_UserBufferList_CreateSize(size)) + { } + + UserBufferList(const UserBufferList& other) + : BaseType(Snpe_UserBufferList_CreateCopy(other.handle())) + { } + UserBufferList(UserBufferList&& other) noexcept + : BaseType(std::move(other)) + { } + + UserBufferList& operator=(const UserBufferList& other){ + if(this != &other){ + Snpe_UserBufferList_Assign(other.handle(), handle()); + } + return *this; + } + UserBufferList& operator=(UserBufferList&& other){ + return moveAssign(std::move(other)); + } + + + void push_back(const DlSystem::UserBufferMap& userBufferMap){ + Snpe_UserBufferList_PushBack(handle(), getHandle(userBufferMap)); + } + + DlSystem::UserBufferMap& operator[](size_t idx){ + return *makeReference(Snpe_UserBufferList_At_Ref(handle(), idx)); + } + + size_t size() const noexcept{ + return Snpe_UserBufferList_Size(handle()); + } + + size_t capacity() const noexcept{ + return Snpe_UserBufferList_Capacity(handle()); + } + + void clear() noexcept{ + Snpe_UserBufferList_Clear(handle()); + } +}; + + +} // ns PSNPE + +ALIAS_IN_ZDL_NAMESPACE(PSNPE, UserBufferList) diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoBase.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoBase.h new file mode 100644 index 00000000..f7af604a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoBase.h @@ -0,0 +1,546 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2019-2022 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef SNPE_UDO_BASE_H +#define SNPE_UDO_BASE_H + +#include + +// Provide values to use for API version. +#define API_VERSION_MAJOR 1 +#define API_VERSION_MINOR 6 +#define API_VERSION_TEENY 0 + +/** @addtogroup c_plus_plus_apis C++ +@{ */ + +// Defines a bitmask of enum values. +typedef uint32_t SnpeUdo_Bitmask_t; +typedef SnpeUdo_Bitmask_t Udo_Bitmask_t; + +// A string of characters, rather than an array of bytes. +// Assumed to be UTF-8. +typedef char* SnpeUdo_String_t; +typedef SnpeUdo_String_t Udo_String_t; + +// The maximum allowable length of a SnpeUdo_String_t in bytes, +// including null terminator. SNPE will truncate strings longer +// than this. +#define SNPE_UDO_MAX_STRING_SIZE 1024 + +/** + * An enum which holds the various error types. + * The error types are divided to classes : + * 0 - 99 : generic errors + * 100 - 200 : errors related to configuration + * + */ +typedef enum +{ + /// No Error + SNPE_UDO_NO_ERROR = 0, UDO_NO_ERROR = 0, + /// Unsupported value for core type + SNPE_UDO_WRONG_CORE = 1, UDO_WRONG_CORE = 1, + /// Invalid attribute/argument passed into UDO API + SNPE_UDO_INVALID_ARGUMENT = 2, UDO_INVALID_ARGUMENT = 2, + /// Unsupported feature error + SNPE_UDO_UNSUPPORTED_FEATURE = 3, UDO_UNSUPPORTED_FEATURE = 3, + /// Error relating to memory allocation + SNPE_UDO_MEM_ALLOC_ERROR = 4, UDO_MEM_ALLOC_ERROR = 4, + /* Configuration Specific errors */ + /// No op with given attributes available in library + SNPE_UDO_WRONG_OPERATION = 100, UDO_WRONG_OPERATION = 100, + /// Unsupported value for core type in UDO configuration + SNPE_UDO_WRONG_CORE_TYPE = 101, UDO_WRONG_CORE_TYPE = 101, + /// Wrong number of params in UDO definition + SNPE_UDO_WRONG_NUM_OF_PARAMS = 102, UDO_WRONG_NUM_OF_PARAMS = 102, + /// Wrong number of dimensions for tensor(s) in UDO definition + SNPE_UDO_WRONG_NUM_OF_DIMENSIONS = 103, UDO_WRONG_NUM_OF_DIMENSIONS = 103, + /// Wrong number of input tensors in UDO definition + SNPE_UDO_WRONG_NUM_OF_INPUTS = 104, UDO_WRONG_NUM_OF_INPUTS = 104, + /// Wrong number of output tensors in UDO definition + SNPE_UDO_WRONG_NUM_OF_OUTPUTS = 105, UDO_WRONG_NUM_OF_OUTPUTS = 105, + SNPE_UDO_PROGRAM_CACHE_NOT_FOUND = 106, UDO_PROGRAM_CACHE_NOT_FOUND = 106, + SNPE_UDO_UNKNOWN_ERROR = 0xFFFFFFFF, UDO_UNKNOWN_ERROR = 0xFFFFFFFF +} SnpeUdo_ErrorType_t; + +typedef SnpeUdo_ErrorType_t Udo_ErrorType_t; + +/** + * An enum which holds the various data types. + * Designed to be used as single values or combined into a bitfield parameter + * (0x1, 0x2, 0x4, etc) + * \n FIXED_XX types are targeted for data in tensors. + * \n UINT / INT types are targeted for scalar params + */ +typedef enum +{ + /// data type: 16-bit floating point + SNPE_UDO_DATATYPE_FLOAT_16 = 0x01, UDO_DATATYPE_FLOAT_16 = 0x01, + /// data type: 32-bit floating point + SNPE_UDO_DATATYPE_FLOAT_32 = 0x02, UDO_DATATYPE_FLOAT_32 = 0x02, + /// data type: 4-bit fixed point + SNPE_UDO_DATATYPE_FIXED_4 = 0x04, UDO_DATATYPE_FIXED_4 = 0x04, + /// data type: 8-bit fixed point + SNPE_UDO_DATATYPE_FIXED_8 = 0x08, UDO_DATATYPE_FIXED_8 = 0x08, + /// data type: 16-bit fixed point + SNPE_UDO_DATATYPE_FIXED_16 = 0x10, UDO_DATATYPE_FIXED_16 = 0x10, + /// data type: 32-bit fixed point + SNPE_UDO_DATATYPE_FIXED_32 = 0x20, UDO_DATATYPE_FIXED_32 = 0x20, + /// data type: 8-bit unsigned integer + SNPE_UDO_DATATYPE_UINT_8 = 0x100, UDO_DATATYPE_UINT_8 = 0x100, + /// data type: 16-bit unsigned integer + SNPE_UDO_DATATYPE_UINT_16 = 0x200, UDO_DATATYPE_UINT_16 = 0x200, + /// data type: 32-bit unsigned integer + SNPE_UDO_DATATYPE_UINT_32 = 0x400, UDO_DATATYPE_UINT_32 = 0x400, + /// data type: 8-bit signed integer + SNPE_UDO_DATATYPE_INT_8 = 0x1000, UDO_DATATYPE_INT_8 = 0x1000, + /// data type: 16-bit signed integer + SNPE_UDO_DATATYPE_INT_16 = 0x2000, UDO_DATATYPE_INT_16 = 0x2000, + /// data type: 32-bit signed integer + SNPE_UDO_DATATYPE_INT_32 = 0x4000, UDO_DATATYPE_INT_32 = 0x4000, + SNPE_UDO_DATATYPE_LAST = 0xFFFFFFFF, UDO_DATATYPE_LAST = 0xFFFFFFFF +} SnpeUdo_DataType_t; + +typedef SnpeUdo_DataType_t Udo_DataType_t; + +/** + * An enum which holds the various layouts. + * Designed to be used as single values or combined into a bitfield parameter + * (0x1, 0x2, 0x4, etc) + */ +typedef enum +{ + /// data layout (4D): NHWC (batch-height-width-channel) + SNPE_UDO_LAYOUT_NHWC = 0x01, UDO_LAYOUT_NHWC = 0x01, + /// data layout (4D): NCHW (batch-channel-height-width) + SNPE_UDO_LAYOUT_NCHW = 0x02, UDO_LAYOUT_NCHW = 0x02, + /// data layout (5D): NDHWC (batch-depth-height-width-channel) + SNPE_UDO_LAYOUT_NDHWC = 0x04, UDO_LAYOUT_NDHWC = 0x04, + SNPE_UDO_LAYOUT_GPU_OPTIMAL1 = 0x08, UDO_LAYOUT_GPU_OPTIMAL1 = 0x08, + SNPE_UDO_LAYOUT_GPU_OPTIMAL2 = 0x10, UDO_LAYOUT_GPU_OPTIMAL2 = 0x10, + SNPE_UDO_LAYOUT_DSP_OPTIMAL1 = 0x11, UDO_LAYOUT_DSP_OPTIMAL1 = 0x11, + SNPE_UDO_LAYOUT_DSP_OPTIMAL2 = 0x12, UDO_LAYOUT_DSP_OPTIMAL2 = 0x12, + // Indicates no data will be allocated for this tensor. + // Used to specify optional inputs/outputs positionally. + SNPE_UDO_LAYOUT_NULL = 0x13, UDO_LAYOUT_NULL = 0x13, + SNPE_UDO_LAYOUT_LAST = 0xFFFFFFFF, UDO_LAYOUT_LAST = 0xFFFFFFFF +} SnpeUdo_TensorLayout_t; + +typedef SnpeUdo_TensorLayout_t Udo_TensorLayout_t; + +/** + * An enum which holds the UDO library Core type . + * Designed to be used as single values or combined into a bitfield parameter + * (0x1, 0x2, 0x4, etc) + */ +typedef enum +{ + /// Library target IP Core is undefined + SNPE_UDO_CORETYPE_UNDEFINED = 0x00, UDO_CORETYPE_UNDEFINED = 0x00, + /// Library target IP Core is CPU + SNPE_UDO_CORETYPE_CPU = 0x01, UDO_CORETYPE_CPU = 0x01, + /// Library target IP Core is GPU + SNPE_UDO_CORETYPE_GPU = 0x02, UDO_CORETYPE_GPU = 0x02, + /// Library target IP Core is DSP + SNPE_UDO_CORETYPE_DSP = 0x04, UDO_CORETYPE_DSP = 0x04, + SNPE_UDO_CORETYPE_LAST = 0xFFFFFFFF, UDO_CORETYPE_LAST = 0xFFFFFFFF +} SnpeUdo_CoreType_t; + +typedef SnpeUdo_CoreType_t Udo_CoreType_t; + +/** + * An enum to specify the parameter type : Scalar or Tensor + */ +typedef enum +{ + /// UDO static param type: scalar + SNPE_UDO_PARAMTYPE_SCALAR = 0x00, UDO_PARAMTYPE_SCALAR = 0x00, + /// UDO static param type: string + SNPE_UDO_PARAMTYPE_STRING = 0x01, UDO_PARAMTYPE_STRING = 0x01, + /// UDO static param type: tensor + SNPE_UDO_PARAMTYPE_TENSOR = 0x02, UDO_PARAMTYPE_TENSOR = 0x02, + SNPE_UDO_PARAMTYPE_LAST = 0xFFFFFFFF, UDO_PARAMTYPE_LAST = 0xFFFFFFFF +} SnpeUdo_ParamType_t; + +typedef SnpeUdo_ParamType_t Udo_ParamType_t; + +/** + * An enum to specify quantization type + */ +typedef enum +{ + /// Tensor Quantization type: NONE. Signifies unquantized tensor data + SNPE_UDO_QUANTIZATION_NONE = 0x00, UDO_QUANTIZATION_NONE = 0x00, + /// Tensor Quantization type: Tensorflow-style + SNPE_UDO_QUANTIZATION_TF = 0x01, UDO_QUANTIZATION_TF = 0x01, + SNPE_UDO_QUANTIZATION_QMN = 0x02, UDO_QUANTIZATION_QMN = 0x02, + SNPE_UDO_QUANTIZATION_LAST = 0xFFFFFFFF, UDO_QUANTIZATION_LAST = 0xFFFFFFFF +} SnpeUdo_QuantizationType_t; + +typedef SnpeUdo_QuantizationType_t Udo_QuantizationType_t; + +/** + * @brief A struct which is used to provide a version number using 3 values : major, minor, teeny + * + */ +typedef struct +{ + /// version field: major - for backward-incompatible changes + uint32_t major; + /// version field: minor - for backward-compatible feature updates + uint32_t minor; + /// version field: teeny - for minor bug-fixes and clean-up + uint32_t teeny; +} SnpeUdo_Version_t; + +typedef SnpeUdo_Version_t Udo_Version_t; + +/** + * @brief A struct returned from version query, contains the Library version and API version + * + */ +typedef struct +{ + /// Version of UDO library. Controlled by users + SnpeUdo_Version_t libVersion; + /// Version of SNPE UDO API used in compiling library. Determined by SNPE + SnpeUdo_Version_t apiVersion; +} SnpeUdo_LibVersion_t; + +/** + * @brief A struct returned from version query, contains the package version + * + */ +typedef struct +{ + /// Version of UDO API used in package. + Udo_Version_t apiVersion; +} Udo_PkgVersion_t; + +/** + * @brief A union to hold the value of a generic type. Allows defining a parameter struct + * in a generic way, with a "value" location that holds the data regardless of the type. + * + */ +typedef union +{ + /// value type: float + float floatValue; + /// value type: unsigned 32-bit integer + uint32_t uint32Value; + /// value type: signed 32-bit integer + int32_t int32Value; + /// value type: unsigned 16-bit integer + uint16_t uint16Value; + /// value type: signed 16-bit integer + int16_t int16Value; + /// value type: unsigned 8-bit integer + uint8_t uint8Value; + /// value type: signed 8-bit integer + int8_t int8Value; +} SnpeUdo_Value_t; + +typedef SnpeUdo_Value_t Udo_Value_t; + +/** + * @brief A struct which defines a scalar parameter : name, data type, and union of values + * + */ +typedef struct +{ + /// The parameter data type : float, int, etc. + SnpeUdo_DataType_t dataType; + /// a union of specified type which holds the data + SnpeUdo_Value_t dataValue; +} SnpeUdo_ScalarParam_t; + +typedef SnpeUdo_ScalarParam_t Udo_ScalarParam_t; + +/** + * @brief A struct which defines the quantization parameters in case of Tensorflow style quantization + * + */ +typedef struct +{ + /// minimum value of the quantization range of data + float minValue; + /// maximum value of the quantization range of data + float maxValue; +} SnpeUdo_TFQuantize_t; + +typedef SnpeUdo_TFQuantize_t Udo_TFQuantize_t; + +/** + * @brief A struct which defines the quantization type, and union of supported quantization structs + * + */ +typedef struct +{ + /// quantization type (only TF-style currently supported) + SnpeUdo_QuantizationType_t quantizeType; + union + { + /// TF-style min-max quantization ranges + SnpeUdo_TFQuantize_t TFParams; + }; +} SnpeUdo_QuantizeParams_t; + +typedef SnpeUdo_QuantizeParams_t Udo_QuantizeParams_t; + +/** + * @brief A struct which defines the datatype associated with a specified core-type + * This should be used to denote the datatypes for a single tensor info, depending + * on the intended execution core. + * + */ +typedef struct +{ + /// The IP Core + SnpeUdo_CoreType_t coreType; + /// The associated datatype for this coreType + SnpeUdo_DataType_t dataType; +} SnpeUdo_PerCoreDatatype_t; + +typedef SnpeUdo_PerCoreDatatype_t Udo_PerCoreDatatype_t; + +/** + * @brief A struct which defines a tensor parameter : name, data type, layout, quantization, more. + * Also holds a pointer to the tensor data. + * + */ +typedef struct +{ + /// The maximum allowable dimensions of the tensor. The memory held in + /// _tensorData_ is guaranteed to be large enough for this. + uint32_t* maxDimensions; + /// The current dimensions of the tensor. An operation may modify the current + /// dimensions of its output, to indicate cases where the output has been + /// "resized". + /// Note that for static parameters, the current and max dimensions must + /// match. + uint32_t* currDimensions; + /// Quantization params applicable to the tensor. Currently only supports + /// Tensorflow quantization style. + SnpeUdo_QuantizeParams_t quantizeParams; + /// Number of dimensions to the tensor: 3D, 4D, etc. + uint32_t tensorRank; + /// The parameter data type: float, int, etc. + SnpeUdo_DataType_t dataType; + /// The tensor layout type: NCHW, NHWC, etc. + SnpeUdo_TensorLayout_t layout; + /// Opaque pointer to tensor data. User may be required to re-interpret the pointer + /// based on core-specific definitions. + void* tensorData; +} SnpeUdo_TensorParam_t; + +typedef SnpeUdo_TensorParam_t Udo_TensorParam_t; + +/** + * @brief A struct which defines tensor information for activation tensors only + * + * It describes an activation tensor object using its name, the intended layout and the datatype + * it will take depending on the intended runtime core. The repeated field indicates that + * that the tensor info describes several input/output activation tensors, which all share the + * aforementioned properties. + */ +typedef struct +{ + /// The tensor name + SnpeUdo_String_t tensorName; + /// The tensor layout type: NCHW, NHWC, etc. + SnpeUdo_TensorLayout_t layout; + /// The per core datatype: {SNPE_UDO_DATATYPE, SNPE_UDO_CORE_TYPE} + SnpeUdo_PerCoreDatatype_t* perCoreDatatype; + /// A boolean field indicating that this tensorinfo will be repeated e.x for ops such as Concat or Split + bool repeated; + /// A boolean field indicating whether input is static or not. + bool isStatic; +} SnpeUdo_TensorInfo_t; + +typedef SnpeUdo_TensorInfo_t Udo_TensorInfo_t; + +/** + * @brief struct which defines a UDO parameter - a union of scalar, tensor and string parameters + * + */ +typedef struct +{ + /// Type is scalar or tensor + SnpeUdo_ParamType_t paramType; + /// The param name, for example : "offset", "activation_type" + SnpeUdo_String_t paramName; + union + { + /// scalar param value + SnpeUdo_ScalarParam_t scalarParam; + /// tensor param value + SnpeUdo_TensorParam_t tensorParam; + /// string param value + SnpeUdo_String_t stringParam; + }; +} SnpeUdo_Param_t; + +typedef SnpeUdo_Param_t Udo_Param_t; + +/** + * @brief A struct which defines Operation information which is specific for IP core (CPU, GPU, DSP ...) + * + */ +typedef struct +{ + /// The IP Core + SnpeUdo_CoreType_t udoCoreType; + /// Bitmask, defines supported internal calculation types (like FLOAT_32, etc) + /// Based on SnpeUdo_DataType + SnpeUdo_Bitmask_t operationCalculationTypes; +} SnpeUdo_OpCoreInfo_t; + +typedef SnpeUdo_OpCoreInfo_t Udo_OpCoreInfo_t; + +/** + * @brief A struct which defines the common and core-specific Operation information + * + */ +typedef struct +{ + /// Operation type + SnpeUdo_String_t operationType; + /// A bitmask describing which IP Cores (CPU, GPU, DSP ...) support this operation + /// Translated based on SnpeUdo_CoreType + SnpeUdo_Bitmask_t supportedByCores; + /// Number of static parameters defined by the op + uint32_t numOfStaticParams; + /// Array of static parameters. Can be scalar or tensor params + SnpeUdo_Param_t* staticParams; + /// Number of input tensors this op receives + uint32_t numOfInputs; + /// Array of input tensor names to this operation + SnpeUdo_String_t* inputNames; + /// Number of output tensors this op receives + uint32_t numOfOutputs; + /// Array of output tensor names to this operation + SnpeUdo_String_t* outputNames; + /// Number of cores that the op can execute on + uint32_t numOfCoreInfo; + /// Array of per-core information entries + SnpeUdo_OpCoreInfo_t* opPerCoreInfo; + /// Array of input tensor infos for this operation + SnpeUdo_TensorInfo_t* inputInfos; + /// Array of output tensor infos for this operation + SnpeUdo_TensorInfo_t* outputInfos; +} SnpeUdo_OperationInfo_t; + +typedef SnpeUdo_OperationInfo_t Udo_OperationInfo_t; + +/** + * @brief A struct which provides the implementation library info : type, name + * + */ +typedef struct +{ + /// Defines the IP Core that this implementation library is targeting + SnpeUdo_CoreType_t udoCoreType; + /// library name. will be looked at in the standard library path + SnpeUdo_String_t libraryName; +} SnpeUdo_LibraryInfo_t; + +typedef SnpeUdo_LibraryInfo_t Udo_LibraryInfo_t; + +/** + * @brief A struct returned by the registration library and contains information on the UDO package : + * name, operations, libraries, etc. + * + */ +typedef struct +{ + /// A string containing the package name + SnpeUdo_String_t packageName; + /// A bitmask describing supported IP cores (CPU, GPU, DSP ...) + /// Translated based on SnpeUdo_CoreType + SnpeUdo_Bitmask_t supportedCoreTypes; + /// The number of implementation libraries in the package + uint32_t numOfImplementationLib; + /// Array of implementation libraries names/types + SnpeUdo_LibraryInfo_t* implementationLib; + /// A string containing all operation types separated by space + SnpeUdo_String_t operationsString; + /// Number of supported operations + uint32_t numOfOperations; + /// Array of Operation info structs. Each entry describes one + /// Operation (name, params, inputs, outputs) + SnpeUdo_OperationInfo_t* operationsInfo; +} SnpeUdo_RegInfo_t; + +typedef SnpeUdo_RegInfo_t Udo_RegInfo_t; + +/** +* @brief A struct returned by the implementation library and contains information on the +* specific library: name, IP Core, operations, etc. +* +*/ +typedef struct +{ + /// Defines the IP Core that this implementation library is targeting + SnpeUdo_CoreType_t udoCoreType; + /// A string containing the package name + SnpeUdo_String_t packageName; + /// A string containing all operation types separated by space + SnpeUdo_String_t operationsString; + /// Number of supported operations + uint32_t numOfOperations; +} SnpeUdo_ImpInfo_t; + +typedef SnpeUdo_ImpInfo_t Udo_ImpInfo_t; + +/** + * @brief This struct defines an operation. It is used for validation + * or creation of an operation. + * In case of using it for creation, the static params which are tensors + * contain pointers to the real data (weights, for example), and input/output + * tensors also include pointers to the buffers used. + */ +typedef struct +{ + /// The IP Core that the operation is defined for - CPU, GPU, DSP... + SnpeUdo_CoreType_t udoCoreType; + /// Operation type + SnpeUdo_String_t operationType; + /// The number of static parameters provided in the staticParams array. + /// this number has to match the number provided by the UDO Registration library information + uint32_t numOfStaticParams; + /// Array of static parameters + SnpeUdo_Param_t* staticParams; + /// The number of input parameters provided in inputs array. + /// this number has to match the number provided by the UDO Registration library information + uint32_t numOfInputs; + /// Array of input tensors, providing layout, data type, sizes, etc + /// When used to create an operation, also contains the initial location of the data + SnpeUdo_TensorParam_t* inputs; + /// The number of output parameters provided in inputs array. + /// this number has to match the number provided by the UDO Registration library information + uint32_t numOfOutputs; + /// Array of output tensors, providing layout, data type, sizes, etc + /// When used to create an operation, also contains the initial location of the data + SnpeUdo_TensorParam_t* outputs; +} SnpeUdo_OpDefinition_t; + +typedef SnpeUdo_OpDefinition_t Udo_OpDefinition_t; + +/** @} */ /* end_addtogroup c_plus_plus_apis C++ */ + +#endif //SNPE_UDO_BASE_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoReg.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoReg.h new file mode 100644 index 00000000..2166be59 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoReg.h @@ -0,0 +1,117 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2019-2020 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef SNPE_UDO_REG_H +#define SNPE_UDO_REG_H + +#include "SnpeUdo/UdoShared.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** @addtogroup c_plus_plus_apis C++ +@{ */ + +/** + * @brief Initialize the shared library's data structures. Calling any other + * library function before this one will result in an error being returned. + * + * @return Error code + */ +SnpeUdo_ErrorType_t +SnpeUdo_initRegLibrary(void); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_InitRegLibraryFunction_t)(void); + +/** + * @brief A function to query the API version of the UDO registration library. + * The function populates a SnpeUdo_LibVersion_t struct, which contains a SnpeUdo_Version_t + * struct for API version and library version. + * + * @param[in, out] version A pointer to struct which contains major, minor, teeny information for + * library and api versions. + * + * @return Error code + */ +SnpeUdo_ErrorType_t +SnpeUdo_getRegLibraryVersion(SnpeUdo_LibVersion_t** version); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_getRegLibraryVersion_t)(SnpeUdo_LibVersion_t** version); + +/** + * @brief Release the shared library's data structures, and invalidate any + * handles returned by the library. The behavior of any outstanding + * asynchronous calls made to this library when this function is called + * are undefined. All library functions (except SnpeUdo_InitRegLibrary) will + * return an error after this function has been successfully called. + * + * It should be possible to call SnpeUdo_InitRegLibrary after calling this + * function, and re-initialize the library. + * + * @return Error code + */ +SnpeUdo_ErrorType_t +SnpeUdo_terminateRegLibrary(void); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_TerminateRegLibraryFunction_t)(void); + + +/** + * @brief A function to query the info on the UDO set. + * The function populates a structure which contains information about + * the package and operations contained in it. + * + * @param[in, out] registrationInfo A struct which contains information on the set of UDOs + * + * @return Error code + * + */ +SnpeUdo_ErrorType_t +SnpeUdo_getRegInfo(SnpeUdo_RegInfo_t** registrationInfo); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_GetRegInfoFunction_t)(SnpeUdo_RegInfo_t** registrationInfo); + +/** + * @brief A function to validate that a set of params is supported by an operation + * The function receives an operation definition struct, and returns if this configuration is + * supported (e.g. if an operation can be created using this configuration) + * + * @param[in] opDefinition A struct of SnpeUdo_OpDefinition type, containing the information needed to + * validate that an operation can be created with this configuration. + * + * @return Error code, indicating is the operation can be created on this set or not. + * + */ +SnpeUdo_ErrorType_t +SnpeUdo_validateOperation(SnpeUdo_OpDefinition_t* opDefinition); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_ValidateOperationFunction_t)(SnpeUdo_OpDefinition_t* opDefinition); + +/** @} */ /* end_addtogroup c_plus_plus_apis C++ */ + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif //SNPE_UDO_REG_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoShared.h b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoShared.h new file mode 100644 index 00000000..816a8a74 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/SnpeUdo/UdoShared.h @@ -0,0 +1,57 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +//============================================================================== +// +// Copyright (c) 2019-2021 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================== + +#ifndef SNPE_UDO_SHARED_H +#define SNPE_UDO_SHARED_H + +#include "SnpeUdo/UdoBase.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +/** @addtogroup c_plus_plus_apis C++ +@{ */ + +/** + * @brief A function to return the various versions as they relate to the UDO + * The function returns a struct containing the the following: + * libVersion: the version of the implementation library compiled for the UDO. Set by user + * apiVersion: the version of the UDO API used in compiling the implementation library. + * Set by SNPE + * + * @param[in, out] version A pointer to Version struct of type SnpeUdo_LibVersion_t + * + * @return Error code + * + */ +SnpeUdo_ErrorType_t +SnpeUdo_getVersion (SnpeUdo_LibVersion_t** version); + +typedef SnpeUdo_ErrorType_t +(*SnpeUdo_GetVersionFunction_t) (SnpeUdo_LibVersion_t** version); + +typedef SnpeUdo_GetVersionFunction_t Udo_GetVersionFunction_t; + +#ifdef __cplusplus +} // extern "C" +#endif + +/** @} */ /* end_addtogroup c_plus_plus_apis C++ */ + +#endif // SNPE_UDO_SHARED_H diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/Wrapper.hpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/Wrapper.hpp new file mode 100644 index 00000000..5f908f15 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inc/zdl/Wrapper.hpp @@ -0,0 +1,449 @@ +//============================================================================= +// +// Copyright (c) 2023 Qualcomm Technologies, Inc. +// All Rights Reserved. +// Confidential and Proprietary - Qualcomm Technologies, Inc. +// +//============================================================================= +#pragma once + +#define SNPE_WRAPPER_TYPES + +#include +#include +#include +#include + +#include + +#include + + +#include "DlSystem/DlError.h" + +// Put type aliases in zdl::namespace +#define ALIAS_IN_ZDL_NAMESPACE(ns, type) namespace zdl{ namespace ns { using type = ::ns::type; }} + + +// Uncomment to print info from the Wrapper base class +//#define WRAPPER_DEBUG_PRINTS + + +#ifdef WRAPPER_DEBUG_PRINTS + +#ifdef _MSC_VER +#define WRAPPER_FUNCTION_NAME __FUNCTION__ +#define WRAPPER_TRACE() std::cout << __LINE__ << ":\t" << WRAPPER_FUNCTION_NAME << std::endl +#define WRAPPER_ETRACE() std::cout << __LINE__ << ":\t" << WRAPPER_FUNCTION_NAME << std::endl +#else +#define WRAPPER_FUNCTION_NAME __PRETTY_FUNCTION__ +#define WRAPPER_TRACE() std::cout << "\e[33m" << __LINE__ << ":\t" << WRAPPER_FUNCTION_NAME << "\e[0m" << std::endl +#define WRAPPER_ETRACE() std::cout << "\e[31m" << __LINE__ << ":\t" << WRAPPER_FUNCTION_NAME << "\e[0m" << std::endl +#endif + +#include +#else +#define WRAPPER_TRACE() do{}while(0) +#define WRAPPER_ETRACE() do{}while(0) +#endif + + +namespace WrapperDetail { + + +template +using GetterFuncType = MemberType(*)(HandleType); + +template +using SetterFuncType = Snpe_ErrorCode_t(*)(HandleType, MemberType); + + + +// Allow Wrappers to have members that require CAPI calls for access +template GetterFunc, + SetterFuncType SetterFunc +> +class GenericMemberReference{ + OwnerType& owner; +public: + + + ~GenericMemberReference() = default; + GenericMemberReference() = delete; + + GenericMemberReference(const GenericMemberReference&) = delete; + GenericMemberReference(GenericMemberReference&&) noexcept = default; + + GenericMemberReference(OwnerType& owner) + : owner{owner} + { } + explicit GenericMemberReference(OwnerType& owner, MemberType member) + : owner{owner} + { + operator=(member); + } + GenericMemberReference& operator=(MemberType member){ + SetterFunc(owner.handle(), member); + return *this; + } + + operator MemberType() const{ + return GetterFunc(owner.handle()); + } + + GenericMemberReference& + operator=(const GenericMemberReference& other){ + return operator=(other.operator MemberType()); + } + + MemberType operator()() const{ + return operator MemberType(); + } + +}; + +// Allow Wrappers to have members that require CAPI calls for access +template GetterFunc +> +class GenericConstMemberReference{ + + OwnerType& owner; + +public: + ~GenericConstMemberReference() = default; + GenericConstMemberReference() = delete; + + GenericConstMemberReference(const GenericConstMemberReference&) = delete; + GenericConstMemberReference(GenericConstMemberReference&&) noexcept = default; + + GenericConstMemberReference(OwnerType& owner) + : owner{owner} + { } + + operator MemberType() const{ + return GetterFunc(owner.handle()); + } + + + template::value,int>::Type=0> + operator const char*() const{ + thread_local std::string tlss; + tlss = operator MemberType(); + return tlss.c_str(); + } + + MemberType operator()() const{ + return operator MemberType(); + } + +}; + + + +// Allows returning references to literals through the CAPI's _Get and _Set functions +template +using GetterIndexedFuncType = MemberType(*)(HandleType, IndexType); + +template +using SetterIndexedFuncType = Snpe_ErrorCode_t(*)(HandleType, IndexType, MemberType); + +template GetterFunc, + SetterIndexedFuncType SetterFunc +> +class MemberIndexedReference{ + OwnerType& owner; + IndexType idx; + +public: + MemberIndexedReference(OwnerType& owner, IndexType idx) + : owner{owner}, + idx{idx} + { } + MemberIndexedReference(const MemberIndexedReference&) noexcept = default; + MemberIndexedReference(MemberIndexedReference&&) noexcept = default; + + MemberIndexedReference& operator=(const MemberIndexedReference&) noexcept = default; + MemberIndexedReference& operator=(MemberIndexedReference&&) noexcept = default; + + MemberIndexedReference operator=(MemberType member){ + SetterFunc(owner.handle(), idx, member); + return *this; + } + + operator MemberType() const{ + return GetterFunc(owner.handle(), idx); + } + +}; + + + +// Allow moving ownership of handles +template +struct HandleMover { + Handle handle; + bool isReference; +}; + +template +HandleMover moveHandle(Handle handle, bool isReference = false){ + return {handle, isReference}; +} + +// Virtual base class to allow for WrapperStorage to hold pointers to any Wrapper type +class WrapperBase{ +public: + virtual ~WrapperBase() = default; +}; + +// Storage type for Wrappers. Will have a set if the CAPI type is capable of creating reference handles +template +struct WrapperStorage{ + Handle handle; + bool isReference; + constexpr WrapperStorage(Handle handle = {}, bool isReference = false) noexcept + : handle{handle}, + isReference{isReference} + { } +}; + +template +struct WrapperStorage{ + Handle handle; + bool isReference; + mutable std::set> referencedObjects; + WrapperStorage(Handle handle = {}, bool isReference = false) noexcept + : handle{handle}, + isReference{isReference} + { } +}; + +// Allow a handle to be unbound from a Wrapper +struct HandleReleaser{ + template + static typename WrapperType::HandleType release(WrapperType& wrapper){ + auto toret = wrapper.m_Storage.handle; + wrapper.m_Storage.handle = {}; + return toret; + } +}; + +} // ns WrapperDetail + + + +// The base class for all Wrappers around the CAPI +// NOTE: This Wrapper class leverages the Curiously Recurring Template Pattern (CRTP) +template +class Wrapper : public WrapperDetail::WrapperBase{ + friend struct WrapperDetail::HandleReleaser; + // Allow certain types to access getHandle() and handle() + template + friend class Wrapper; + + template, + WrapperDetail::SetterIndexedFuncType> + friend class WrapperDetail::MemberIndexedReference; + + template> + friend class WrapperDetail::GenericConstMemberReference; + + template, WrapperDetail::SetterFuncType> + friend class WrapperDetail::GenericMemberReference; + + + +protected: + using HandleType = Handle; + using BaseType = Wrapper; + using DeleteFunctionType = Snpe_ErrorCode_t(*)(Handle); + + using StorageType = WrapperDetail::WrapperStorage; + + + template Getter> + static WrapperValueType CastingGetter(HandleType handle){ + return static_cast(Getter(handle)); + } + template Setter> + static Snpe_ErrorCode_t CastingSetter(HandleType handle, WrapperValueType value){ + return Setter(handle,static_cast(value)); + } + + + template + struct WrapperMemberReference{ + Derived& owner; + + WrapperMemberReference(Derived& owner) + : owner{owner} + { } + WrapperMemberReference(Derived& owner, const RlType& other) + : owner{owner} + { + operator=(other); + } + + WrapperMemberReference& operator=(const RlType& rl){ + Setter(getHandle(owner), getHandle(rl)); + return *this; + } + + operator RlType&() { + return *owner.template makeReference( Getter(getHandle(owner)) ); + } + operator RlType&() const { + return *owner.template makeReference( Getter(getHandle(owner)) ); + } + + RlType& operator()(){ + return operator RlType&(); + } + const RlType& operator()() const{ + return operator RlType&(); + } + }; + + // For Factory/Singleton types, we need a way for the deleter to do nothing + static Snpe_ErrorCode_t NoOpDeleter(Handle){ + return SNPE_SUCCESS; + } + + // Simplify calls to WrapperDetail::moveHandle. Can be removed, but will require updating all calls to moveHandle + template + static WrapperDetail::HandleMover moveHandle(H handle, bool isReference = false){ + return WrapperDetail::moveHandle(handle, isReference); + } + + + HandleType& handle() noexcept{ return m_Storage.handle; } + const HandleType& handle() const noexcept{ return m_Storage.handle; } + + bool isReference() const noexcept{ return m_Storage.isReference; } + + void Dtor(){ + if(!isReference() && !handle()){ + if(Derived::DeleteFunction != NoOpDeleter){ + WRAPPER_ETRACE(); + } + } + if(!isReference() && handle()){ + WRAPPER_TRACE(); +#ifdef WRAPPER_DEBUG_PRINTS + auto status = Derived::DeleteFunction(handle()); + if(status != SNPE_SUCCESS){ + WRAPPER_ETRACE(); + } +#else + Derived::DeleteFunction(handle()); +#endif + + handle() = nullptr; + } else { + WRAPPER_TRACE(); + } + } + +protected: + + // Only compile these if the class creates references. This will save memory and time + template::type=0> + void addReference(WrapperBase* wrapperBase) const{ // accesses mutable member + if(!wrapperBase){ + WRAPPER_ETRACE(); + } + m_Storage.referencedObjects.insert(std::unique_ptr(wrapperBase)); + } + + template::type=0> + T* makeReference(H referenceHandle) const{ + if(!referenceHandle){ + WRAPPER_ETRACE(); + return nullptr; + } + auto refObj = new T(moveHandle(referenceHandle, true)); + addReference(refObj); + return refObj; + } + + // This will be used to access another Wrapped type's handles once handle() is made protected + template + static OtherHandle getHandle(const Wrapper& otherObject){ + return otherObject.handle(); + } + + template + static OtherHandle getHandle(const Wrapper* otherObject){ + if(!otherObject) return {}; + return getHandle(*otherObject); + } + + template + static std::unique_ptr makeUnique(H handle){ + if(!handle) return {}; + return std::unique_ptr(new T(moveHandle(handle))); + } + + +public: + ~Wrapper(){ + Dtor(); + } +protected: + // Only derived types should have access to this + Wrapper(HandleType handle, bool isReference = false) + : m_Storage{handle, isReference} + { WRAPPER_TRACE(); } + +public: + // We should never have an empty wrapper + Wrapper() = delete; + + // Move semantics are essentially free for all wrapper types + Wrapper(Wrapper&& other) noexcept + : m_Storage{std::move(other.m_Storage)} + { + WRAPPER_TRACE(); + other.handle() = nullptr; + } + Wrapper(const Wrapper&) = delete; + + + Wrapper& operator=(Wrapper&& other) noexcept{ + WRAPPER_TRACE(); + if(this != &other){ + std::swap(m_Storage, other.m_Storage); + other.Dtor(); + } + return *this; + } + Wrapper& operator=(const Wrapper&) = delete; + + + // Allow a CAPI handle to be taken over by a Wrapper + Wrapper(WrapperDetail::HandleMover handleMover) noexcept + : Wrapper(handleMover.handle, handleMover.isReference) + { WRAPPER_TRACE(); } + +protected: + // Simplify Derived's move assignment operators + Derived& moveAssign(Derived&& other) noexcept{ WRAPPER_TRACE(); + return static_cast(operator=(std::move(other))); + } + + +private: + StorageType m_Storage; + +}; diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference.cpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference.cpp new file mode 100644 index 00000000..a0a829d4 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference.cpp @@ -0,0 +1,147 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include "android/log.h" + +#include "hpp/CheckRuntime.hpp" +#include "hpp/LoadContainer.hpp" +#include "hpp/SetBuilderOptions.hpp" +#include "hpp/LoadInputTensor.hpp" +#include "hpp/CreateUserBuffer.hpp" +#include "hpp/Util.hpp" + +std::unique_ptr snpe_dsp; +std::unique_ptr snpe_cpu; +static zdl::DlSystem::Runtime_t runtime = zdl::DlSystem::Runtime_t::CPU; +static zdl::DlSystem::RuntimeList runtimeList; +bool useUserSuppliedBuffers = true; +bool useIntBuffer = false; + +std::string dlc_path; + +std::string build_network(const uint8_t * dlc_buffer, const size_t dlc_size) +{ + std::string outputLogger; + bool usingInitCaching = true; + + std::unique_ptr container; + container = loadContainerFromBuffer(dlc_buffer, dlc_size); + if (container == nullptr) { + LOGE("Error while opening the container file."); + return "Error while opening the container file.\n"; + } + + runtimeList.clear(); + // Build for DSP runtime + zdl::DlSystem::Runtime_t runtime = zdl::DlSystem::Runtime_t::DSP; + if(runtime != zdl::DlSystem::Runtime_t::UNSET) + { + bool ret = runtimeList.add(checkRuntime(runtime)); + if(ret == false){ + LOGE("Cannot set runtime"); + return outputLogger + "Cannot set runtime"; + } + } else return outputLogger + "\nCannot set runtime"; + + snpe_dsp = setBuilderOptions(container, runtime, runtimeList, useUserSuppliedBuffers, usingInitCaching); + + if (snpe_dsp == nullptr) { + LOGE("SNPE Prepare failed: Builder option failed for DSP runtime"); + outputLogger += "DSP Build = Failed ; "; +// return outputLogger + "SNPE Prepare failed for DSP runtime"; + } + outputLogger += "DSP Build = OK ; "; + if (usingInitCaching) { + if (container->save(dlc_path)) { + LOGI("Saved container into archive successfully"); +// outputLogger += "\nSaved container cache"; + } else LOGE("Failed to save container into archive"); + } + + // Build for CPU runtime + runtimeList.clear(); + runtime = zdl::DlSystem::Runtime_t::CPU; + snpe_cpu = setBuilderOptions(container, runtime, runtimeList, useUserSuppliedBuffers, usingInitCaching); + if (snpe_cpu == nullptr) { + LOGE("SNPE Prepare failed: Builder option failed for CPU runtime"); + return outputLogger += "CPU Build = Failed ; "; + } + + outputLogger += "CPU Build = OK ; "; + return outputLogger; +} + +// input vector, runtime +std::string execute_net(std::vector inputVec, int arrayLength, + std::vector & outputVec, std::string runtime) { + bool execStatus; + std::unique_ptr snpe; + + // Transfer object properties + if (runtime =="CPU") { + snpe = std::move(snpe_cpu); + LOGI("Executing on CPU runtime..."); + } else snpe = std::move(snpe_dsp); + + // do some exception checking + if (snpe == nullptr) + return "SNPE " + runtime + " is NULL ptr"; + + zdl::DlSystem::UserBufferMap inputMap, outputMap; + std::vector > snpeUserBackedInputBuffers, snpeUserBackedOutputBuffers; + std::unordered_map > applicationOutputBuffers; + + // create UB_TF_N type buffer, if : useIntBuffer=True + int bitWidth = 32; + if(useIntBuffer) + bitWidth = 8; // set 16 for INT_16 activations + + LOGI("Using UserBuffer with bit-width = %d", bitWidth); + + createOutputBufferMap(outputMap, applicationOutputBuffers, snpeUserBackedOutputBuffers, snpe, useIntBuffer, bitWidth); + + std::unordered_map > applicationInputBuffers; + createInputBufferMap(inputMap, applicationInputBuffers, snpeUserBackedInputBuffers, snpe, useIntBuffer, bitWidth); + + if(!loadInputUserBuffer(applicationInputBuffers, snpe, inputVec, arrayLength, inputMap, bitWidth)) + return "\nFailed to load Input UserBuffer"; + + // Execute the input buffer map on the model with SNPE + execStatus = snpe->execute(inputMap, outputMap); + // Save the execution results only if successful + if (execStatus == true) { + LOGI("SNPE Exec Success !!!"); + // save output tensor + size_t batchSize = 1; + if(!saveOutput(outputMap, applicationOutputBuffers, outputVec, batchSize, useIntBuffer, bitWidth)) + return "\nFailed to Save Output Tensor"; + + } else return "\nSNPE Execute Failed\n"; + + // Transfer object properties + if (runtime == "CPU") { + snpe_cpu = std::move(snpe); + LOGI("Transferred back object to CPU runtime..."); + } else snpe_dsp = std::move(snpe); + +// snpe.reset(); + return ""; +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference_helper.cpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference_helper.cpp new file mode 100644 index 00000000..ddc4a8bc --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/inference_helper.cpp @@ -0,0 +1,456 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +#include +#include +#include +#include "android/log.h" + +#include "zdl/SNPE/SNPE.hpp" +#include "zdl/SNPE/SNPEFactory.hpp" +#include "zdl/DlSystem/DlVersion.hpp" +#include "zdl/DlSystem/DlEnums.hpp" +#include "zdl/DlSystem/String.hpp" +#include "zdl/DlContainer/IDlContainer.hpp" +#include "zdl/SNPE/SNPEBuilder.hpp" +#include "zdl/DlSystem/ITensor.hpp" +#include "zdl/DlSystem/StringList.hpp" +#include "zdl/DlSystem/TensorMap.hpp" +#include "zdl/DlSystem/TensorShape.hpp" +#include "DlSystem/ITensorFactory.hpp" + +#include "hpp/LoadInputTensor.hpp" +#include "hpp/Util.hpp" +#include "inference.h" + + +bool SetAdspLibraryPath(std::string nativeLibPath) { + nativeLibPath += ";/vendor/lib/rfsa/adsp;/vendor/dsp/cdsp;/system/lib/rfsa/adsp;/system/vendor/lib/rfsa/adsp;/dsp"; + + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "ADSP Lib Path = %s \n", nativeLibPath.c_str()); + std::cout << "ADSP Lib Path = " << nativeLibPath << std::endl; + + return setenv("ADSP_LIBRARY_PATH", nativeLibPath.c_str(), 1 /*override*/) == 0; +} + + +std::unique_ptr loadContainerFromFile(std::string containerPath) +{ + std::unique_ptr container; + container = zdl::DlContainer::IDlContainer::open(zdl::DlSystem::String(containerPath.c_str())); + return container; +} + +std::unique_ptr loadContainerFromBuffer(const uint8_t * buffer, const size_t size) +{ + std::unique_ptr container; + container = zdl::DlContainer::IDlContainer::open(buffer, size); + return container; +} + +zdl::DlSystem::Runtime_t checkRuntime(zdl::DlSystem::Runtime_t runtime) +{ + static zdl::DlSystem::Version_t Version = zdl::SNPE::SNPEFactory::getLibraryVersion(); + + LOGI("SNPE Version = %s", Version.asString().c_str()); //Print Version number + +// if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(runtime)) { +// LOGE("Selected runtime not present. Falling back to GPU."); +// runtime = zdl::DlSystem::Runtime_t::GPU; +// if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(runtime)){ +// LOGE("Selected runtime not present. Falling back to CPU."); +// runtime = zdl::DlSystem::Runtime_t::CPU; +// } +// } + + return runtime; +} + +std::unique_ptr setBuilderOptions(std::unique_ptr & container, + zdl::DlSystem::Runtime_t runtime, + zdl::DlSystem::RuntimeList runtimeList, + bool useUserSuppliedBuffers, + bool useCaching) +{ + std::unique_ptr snpe; + zdl::SNPE::SNPEBuilder snpeBuilder(container.get()); + + if(runtimeList.empty()) + { + runtimeList.add(runtime); + } + + std::string platformOptionStr = "useAdaptivePD:ON"; +// if (isSignedStatus == UNSIGNED_PD) { + // use unsignedPD feature for untrusted app. + // platformOptionStr += "unsignedPD:ON"; +// } + zdl::DlSystem::PlatformConfig platformConfig; + bool setSuccess = platformConfig.setPlatformOptions(platformOptionStr); + if (!setSuccess) + LOGE("=========> failed to set platformconfig: %s", platformOptionStr.c_str()); + else + LOGI("=========> platformconfig set: %s", platformOptionStr.c_str()); + + bool isValid = platformConfig.isOptionsValid(); + if (!isValid) + LOGE("=========> platformconfig option is invalid"); + else + LOGE("=========> platformconfig option: valid"); + + zdl::DlSystem::StringList outputLayerList; + outputLayerList.append("Identity:0"); + outputLayerList.append("Identity_1:0"); + + snpe = snpeBuilder.setOutputTensors(outputLayerList) + .setPerformanceProfile(zdl::DlSystem::PerformanceProfile_t::BURST) + .setExecutionPriorityHint( + zdl::DlSystem::ExecutionPriorityHint_t::HIGH) + .setRuntimeProcessorOrder(runtimeList) + .setUseUserSuppliedBuffers(useUserSuppliedBuffers) + .setPlatformConfig(platformConfig) + .setInitCacheMode(useCaching).setUnconsumedTensorsAsOutputs(true).build(); + return snpe; +} + +std::unique_ptr loadInputTensor (std::unique_ptr& snpe , std::vector& inp_raw) { + std::unique_ptr input; + const auto &strList_opt = snpe->getInputTensorNames(); + if (!strList_opt) throw std::runtime_error("Error obtaining Input tensor names"); + const auto &strList = *strList_opt; + // Make sure the network requires only a single input + assert (strList.size() == 1); + + const auto &inputDims_opt = snpe->getInputDimensions(strList.at(0)); + const auto &inputShape = *inputDims_opt; + + input = zdl::SNPE::SNPEFactory::getTensorFactory().createTensor(inputShape); + + if (input->getSize() != inp_raw.size()) { + std::string errStr = "Size of input does not match network.\n Expecting: " + std::to_string(input->getSize()); + errStr += "; Got: " + std::to_string(inp_raw.size()) + "\n"; + LOGE("%s",errStr.c_str()); + return nullptr; + } + + /* Copy the loaded input file contents into the networks input tensor. + SNPE's ITensor supports C++ STL functions like std::copy() */ + std::copy(inp_raw.begin(), inp_raw.end(), input->begin()); + return input; +} + +// ==============================User Buffer func=================================== // +// ================================================================================= // +size_t resizable_dim; + +size_t calcSizeFromDims(const zdl::DlSystem::Dimension *dims, size_t rank, size_t elementSize ){ + if (rank == 0) return 0; + size_t size = elementSize; + while (rank--) { + (*dims == 0) ? size *= resizable_dim : size *= *dims; + dims++; + } + return size; +} + +void createUserBuffer(zdl::DlSystem::UserBufferMap& userBufferMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + const char * name, // snpe->getOutputTensorNames(); + const bool isTfNBuffer, + int bitWidth) +{ + // get attributes of buffer by name + auto bufferAttributesOpt = snpe->getInputOutputBufferAttributes(name); + if (!bufferAttributesOpt) throw std::runtime_error(std::string("Error obtaining attributes for input tensor ") + name); + + // calculate the size of buffer required by the input tensor + const zdl::DlSystem::TensorShape& bufferShape = (*bufferAttributesOpt)->getDims(); + + size_t bufferElementSize = 0; + if (isTfNBuffer) { + bufferElementSize = bitWidth / 8; + } + else { + bufferElementSize = sizeof(float); + } + + // Calculate the stride based on buffer strides. + // Note: Strides = Number of bytes to advance to the next element in each dimension. + + std::vector strides(bufferShape.rank()); + strides[strides.size() - 1] = bufferElementSize; + size_t stride = strides[strides.size() - 1]; + for (size_t i = bufferShape.rank() - 1; i > 0; i--) + { +// (bufferShape[i] == 0) ? stride *= getResizableDim() : stride *= bufferShape[i]; + stride *= bufferShape[i]; + strides[i-1] = stride; + } + + size_t bufSize = calcSizeFromDims(bufferShape.getDimensions(), bufferShape.rank(), bufferElementSize); + + // set the buffer encoding type + std::unique_ptr userBufferEncoding; + if (isTfNBuffer) + userBufferEncoding = std::unique_ptr(new zdl::DlSystem::UserBufferEncodingTfN(0,1.0, bitWidth)); + else + userBufferEncoding = std::unique_ptr(new zdl::DlSystem::UserBufferEncodingFloat()); + + // create user-backed storage to load input data onto it + applicationBuffers.emplace(name, std::vector(bufSize)); + + // create SNPE user buffer from the user-backed buffer + zdl::DlSystem::IUserBufferFactory& ubFactory = zdl::SNPE::SNPEFactory::getUserBufferFactory(); + snpeUserBackedBuffers.push_back(ubFactory.createUserBuffer(applicationBuffers.at(name).data(), + bufSize, + strides, + userBufferEncoding.get())); + if (snpeUserBackedBuffers.back() == nullptr) + throw std::runtime_error(std::string("Error while creating user buffer.")); + + // add the user-backed buffer to the inputMap, which is later on fed to the network for execution + userBufferMap.add(name, snpeUserBackedBuffers.back().get()); +} + +void createOutputBufferMap(zdl::DlSystem::UserBufferMap& outputMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + bool isTfNBuffer, + int bitWidth) +{ + // get input tensor names of the network that need to be populated + LOGI("Creating Output Buffer"); + const auto& outputNamesOpt = snpe->getOutputTensorNames(); + if (!outputNamesOpt) throw std::runtime_error("Error obtaining output tensor names"); + const zdl::DlSystem::StringList& outputNames = *outputNamesOpt; + + // create SNPE user buffers for each application storage buffer + for (const char *name : outputNames) { +// LOGI("Creating output buffer %s", name); + createUserBuffer(outputMap, applicationBuffers, snpeUserBackedBuffers, snpe, name, isTfNBuffer, bitWidth); + } +} + +void createInputBufferMap(zdl::DlSystem::UserBufferMap& inputMap, + std::unordered_map>& applicationBuffers, + std::vector>& snpeUserBackedBuffers, + std::unique_ptr& snpe, + bool isTfNBuffer, + int bitWidth) +{ +// LOGI("Creating Input Buffer"); + // get input tensor names of the network that need to be populated + const auto& inputNamesOpt = snpe->getInputTensorNames(); + if (!inputNamesOpt) throw std::runtime_error("Error obtaining input tensor names"); + const zdl::DlSystem::StringList& inputNames = *inputNamesOpt; + assert(inputNames.size() > 0); + + // create SNPE user buffers for each application storage buffer + for (const char *name : inputNames) { +// LOGI("Input Buffer = %s", name); + createUserBuffer(inputMap, applicationBuffers, snpeUserBackedBuffers, snpe, name, isTfNBuffer, bitWidth); + } +} + +bool FloatToTfN(uint8_t* out, + unsigned char& stepEquivalentTo0, + float& quantizedStepSize, + float* in, + size_t numElement, + int bitWidth) +{ + float trueMin = std::numeric_limits ::max(); + float trueMax = std::numeric_limits ::min(); + + for (size_t i = 0; i < numElement; ++i) { + trueMin = fmin(trueMin, in[i]); + trueMax = fmax(trueMax, in[i]); + } + + double encodingMin; + double encodingMax; + double stepCloseTo0; + double trueBitWidthMax = pow(2, bitWidth) -1; + + if (trueMin > 0.0f) { + stepCloseTo0 = 0.0; + encodingMin = 0.0; + encodingMax = trueMax; + } else if (trueMax < 0.0f) { + stepCloseTo0 = trueBitWidthMax; + encodingMin = trueMin; + encodingMax = 0.0; + } else { + double trueStepSize = static_cast (trueMax - trueMin) / trueBitWidthMax; + stepCloseTo0 = -trueMin / trueStepSize; + if (stepCloseTo0==round(stepCloseTo0)) { + // 0.0 is exactly representable + encodingMin = trueMin; + encodingMax = trueMax; + } else { + stepCloseTo0 = round(stepCloseTo0); + encodingMin = (0.0 - stepCloseTo0) * trueStepSize; + encodingMax = (trueBitWidthMax - stepCloseTo0) * trueStepSize; + } + } + + const double minEncodingRange = 0.01; + double encodingRange = encodingMax - encodingMin; + quantizedStepSize = encodingRange / trueBitWidthMax; + stepEquivalentTo0 = static_cast (round(stepCloseTo0)); + + if (encodingRange < minEncodingRange) { + LOGE("Expect the encoding range to be larger than %f", minEncodingRange); + LOGE("Got: %f", encodingRange); + return false; + } else { + for (size_t i = 0; i < numElement; ++i) { + int quantizedValue = round(trueBitWidthMax * (in[i] - encodingMin) / encodingRange); + + if (quantizedValue < 0) + quantizedValue = 0; + else if (quantizedValue > (int)trueBitWidthMax) + quantizedValue = (int)trueBitWidthMax; + + if(bitWidth == 8){ + out[i] = static_cast (quantizedValue); + } + else if(bitWidth == 16){ + uint16_t *temp = (uint16_t *)out; + temp[i] = static_cast (quantizedValue); + } + } + } + return true; +} + +bool loadByteDataFileBatchedTfN(float *inVector, int arrayLength, std::vector& loadVector, size_t offset, + unsigned char& stepEquivalentTo0, float& quantizedStepSize, int bitWidth) +{ + // loadVector = applicationBuffer + size_t dataStartPos = 0; + if(!FloatToTfN(&loadVector[dataStartPos], stepEquivalentTo0, quantizedStepSize, inVector, arrayLength, bitWidth)) + return false; + + return true; +} + +bool loadInputUserBuffer(std::unordered_map>& applicationBuffers, + std::unique_ptr& snpe, + std::vector inVector, + int arrayLength, + zdl::DlSystem::UserBufferMap& inputMap, + int bitWidth) { + // get input tensor names of the network that need to be populated + const auto &inputNamesOpt = snpe->getInputTensorNames(); + if (!inputNamesOpt) throw std::runtime_error("Error obtaining input tensor names"); + const zdl::DlSystem::StringList &inputNames = *inputNamesOpt; + assert(inputNames.size() > 0); + + if (inputNames.size()) LOGI("Processing DNN Input: "); + + for (size_t j = 0; j < inputNames.size(); j++) { + const char *name = inputNames.at(j); +// LOGI("Filling %s buffer ", name); + + if(bitWidth == 8 || bitWidth == 16) { + // load user-buffer tf-N + unsigned char stepEquivalentTo0; + float quantizedStepSize; + if (!loadByteDataFileBatchedTfN(inVector[j], arrayLength, applicationBuffers.at(name), 0, + stepEquivalentTo0, quantizedStepSize, bitWidth)) + return false; + + auto userBufferEncoding = dynamic_cast(&inputMap.getUserBuffer( + name)->getEncoding()); + userBufferEncoding->setStepExactly0(stepEquivalentTo0); + userBufferEncoding->setQuantizedStepSize(quantizedStepSize); + } else { + // load user-buffer float + std::vector & loadVector = applicationBuffers.at(name); + loadVector.resize( arrayLength * 4); + // in.read( reinterpret_cast (&loadVector[offset * length/ sizeof(T) ]), length) + float * accumulator = reinterpret_cast (&loadVector[0]); + for (int idx=0; idx < arrayLength; ++idx) { + accumulator[idx] = inVector[j][idx]; +// LOGI("%d -> %f", idx, accumulator[idx]); + } + } + } + return true; +} +// ======================================SAve UB Buffers==================== // +// ========================================================================= // +void TfNToFloat(float *out, + uint8_t *in, + const unsigned char stepEquivalentTo0, + const float quantizedStepSize, + size_t numElement, + int bitWidth) +{ + for (size_t i = 0; i < numElement; ++i) { + if (8 == bitWidth) { + double quantizedValue = static_cast (in[i]); + double stepEqTo0 = static_cast (stepEquivalentTo0); + out[i] = static_cast ((quantizedValue - stepEqTo0) * quantizedStepSize); + } + else if (16 == bitWidth) { + uint16_t *temp = (uint16_t *)in; + double quantizedValue = static_cast (temp[i]); + double stepEqTo0 = static_cast (stepEquivalentTo0); + out[i] = static_cast ((quantizedValue - stepEqTo0) * quantizedStepSize); + } + } +} + +bool saveOutput (zdl::DlSystem::UserBufferMap& outputMap, + std::unordered_map>& applicationOutputBuffers, + std::vector & outputVec, + size_t batchSize, + bool isTfNBuffer, + int bitWidth) { + // Get all output buffer names from the network + const zdl::DlSystem::StringList &outputBufferNames = outputMap.getUserBufferNames(); + + int elementSize = bitWidth / 8; + int index = 0; + + // Iterate through output buffers and print each output to a raw file + for (auto &name : outputBufferNames) { + for (size_t i = 0; i < batchSize; i++) { + auto bufferPtr = outputMap.getUserBuffer(name); + + if (isTfNBuffer) { + zdl::DlSystem::UserBufferEncodingTfN ubetfN = dynamic_cast( + outputMap.getUserBuffer(name)->getEncoding()); + + // set output size + std::vector output; + output.resize( + applicationOutputBuffers.at(name).size() * sizeof(float) / elementSize); + // convert output to float + TfNToFloat(reinterpret_cast(&output[0]), + applicationOutputBuffers.at(name).data(), + ubetfN.getStepExactly0(), ubetfN.getQuantizedStepSize(), + applicationOutputBuffers.at(name).size() / elementSize, bitWidth); + } else { +// LOGI("Saving output for %s", name); + outputVec[index] = (float *) applicationOutputBuffers.at(name).data(); +// for ( int s = 0; s < 3; s++ ) +// LOGI("out[%d][%d] = %f ", index, s, outputVec[index][s]); + index++; + } + } + } + return true; + +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/native-lib.cpp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/native-lib.cpp new file mode 100644 index 00000000..453a3656 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/cpp/native-lib.cpp @@ -0,0 +1,171 @@ +// -*- mode: cpp -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +#include +#include +#include +#include +#include "hpp/inference.h" + +extern "C" +JNIEXPORT jstring JNICALL +Java_com_qualcomm_qti_qa_ml_QaClient_queryRuntimes(JNIEnv *env, + jobject thiz, + jstring native_dir_path) { + const char *cstr = env->GetStringUTFChars(native_dir_path, NULL); + env->ReleaseStringUTFChars(native_dir_path, cstr); + + std::string runT_Status; + std::string nativeLibPath = std::string(cstr); + +// runT_Status += "\nLibs Path : " + nativeLibPath + "\n"; + + if (!SetAdspLibraryPath(nativeLibPath)) { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "Failed to set ADSP Library Path\n"); + + runT_Status += "\nFailed to set ADSP Library Path\nTerminating"; + return env->NewStringUTF(runT_Status.c_str()); + } + // ====================================================================================== // + runT_Status = "Querying Runtimes : \n\n"; + // DSP unsignedPD check + if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(zdl::DlSystem::Runtime_t::DSP,zdl::DlSystem::RuntimeCheckOption_t::UNSIGNEDPD_CHECK)) { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "UnsignedPD DSP runtime : Absent\n"); + runT_Status += "UnsignedPD DSP runtime : Absent\n"; + } + else { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "UnsignedPD DSP runtime : Present\n"); + runT_Status += "UnsignedPD DSP runtime : Present\n"; + } + // DSP signedPD check + if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(zdl::DlSystem::Runtime_t::DSP)) { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "DSP runtime : Absent\n"); + runT_Status += "DSP runtime : Absent\n"; + } + else { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "DSP runtime : Present\n"); + runT_Status += "DSP runtime : Present\n"; + } + // GPU check + if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(zdl::DlSystem::Runtime_t::GPU)) { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "GPU runtime : Absent\n"); + runT_Status += "GPU runtime : Absent\n"; + } + else { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "GPU runtime : Present\n"); + runT_Status += "GPU runtime : Present\n"; + } + // CPU check + if (!zdl::SNPE::SNPEFactory::isRuntimeAvailable(zdl::DlSystem::Runtime_t::CPU)) { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "CPU runtime : Absent\n"); + runT_Status += "CPU runtime : Absent\n"; + } + else { + __android_log_print(ANDROID_LOG_INFO, "SNPE ", "CPU runtime : Present\n"); + runT_Status += "CPU runtime : Present\n"; + } + + return env->NewStringUTF(runT_Status.c_str()); +} + + +extern "C" +JNIEXPORT jstring JNICALL +Java_com_qualcomm_qti_qa_ml_QaClient_initSNPE(JNIEnv *env, + jobject thiz, + jobject asset_manager, jstring model) { + LOGI("Reading SNPE DLC ..."); + std::string result; + + AAssetManager* mgr = AAssetManager_fromJava(env, asset_manager); + + //Converting the model name to string + const char *accl_name = env->GetStringUTFChars(model, NULL); + //AAsset* asset = AAssetManager_open(mgr, "alberta_int.dlc", AASSET_MODE_UNKNOWN); + AAsset* asset; + if(*accl_name == 'alberta'){ + asset = AAssetManager_open(mgr, "alberta_float.dlc", AASSET_MODE_UNKNOWN); + } + else if(*accl_name=='mobile_bert'){ + asset = AAssetManager_open(mgr, "mobile_bert_float.dlc", AASSET_MODE_UNKNOWN); + } + else{ + asset = AAssetManager_open(mgr, "electra_small_squad2_cached.dlc", AASSET_MODE_UNKNOWN); + } + + if (NULL == asset) { + LOGE("Failed to load ASSET, needed to load DLC\n"); + result = "Failed to load ASSET, needed to load DLC\n"; + return env->NewStringUTF(result.c_str()); + } + long dlc_size = AAsset_getLength(asset); + + char* dlc_buffer = (char*) malloc(sizeof(char) * dlc_size); + AAsset_read(asset, dlc_buffer, dlc_size); + + result += build_network(reinterpret_cast(dlc_buffer), dlc_size); + + return env->NewStringUTF(result.c_str()); +} +extern "C" +JNIEXPORT jstring JNICALL +Java_com_qualcomm_qti_qa_ml_QaClient_inferSNPE(JNIEnv *env, jobject thiz, jstring runtime, + jstring model, + jfloatArray input_ids, jfloatArray attn_masks, + jfloatArray seg_ids, + jint array_size, + jfloatArray start_logits, + jfloatArray end_logits) { + std::string return_msg; + jfloat * inp_id_array; + jfloat * mask_array; + jfloat * tty_array; + jint arrayLength = array_size; + jfloat * sLogit_array; + jfloat * eLogit_array; + + const char *accl_name = env->GetStringUTFChars(runtime, NULL); + env->ReleaseStringUTFChars(runtime, accl_name); + std::string backend = std::string(accl_name); + + // get a pointer to the array + inp_id_array = env->GetFloatArrayElements(input_ids, NULL); + mask_array = env->GetFloatArrayElements(attn_masks, NULL); + tty_array = env->GetFloatArrayElements(seg_ids, NULL); + sLogit_array = env->GetFloatArrayElements(start_logits, NULL); + eLogit_array = env->GetFloatArrayElements(end_logits, NULL); + + // do some exception checking + if (inp_id_array == NULL || mask_array == NULL) { + return_msg += "0.0 0.0 Err: Invalid input_id_array/attn_mask_arr/arr_sizes\n"; + return env->NewStringUTF(return_msg.c_str()); /* exception occurred */ + } + + std::vector inputVec { inp_id_array, mask_array, tty_array }; + std::vector outputVec {eLogit_array, sLogit_array}; + + return_msg = execute_net(inputVec, arrayLength, outputVec, backend); + + for ( int index = 0; index < arrayLength; index++ ) { +// LOGI("out[%d] = %f ", index, outputVec[1][index]); + eLogit_array[index] = outputVec[0][index]; + sLogit_array[index] = outputVec[1][index]; + } + + // ===================================================================== // + // release the memory so java can have it again + env->ReleaseFloatArrayElements(input_ids, inp_id_array, 0); + env->ReleaseFloatArrayElements(attn_masks, mask_array, 0); + env->ReleaseFloatArrayElements(seg_ids, tty_array, 0); + + env->ReleaseFloatArrayElements(start_logits, sLogit_array, 0); + env->ReleaseFloatArrayElements(end_logits, eLogit_array, 0); + + return env->NewStringUTF(return_msg.c_str()); +} \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/ic_launcher-playstore.png b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/ic_launcher-playstore.png new file mode 100644 index 0000000000000000000000000000000000000000..fcb7c9e1a1e243f7a103025914314138137d42e7 GIT binary patch literal 55366 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 RpUK2HOs<*3ORqXa{s%1u@Dl(4 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/Feature.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/Feature.java new file mode 100644 index 00000000..b0cdcc52 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/Feature.java @@ -0,0 +1,50 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ml; + +import com.google.common.primitives.Ints; +import java.util.List; +import java.util.Map; + +/** Feature to be fed into the Bert model. */ +public final class Feature { + public final int[] inputIds; + public final int[] inputMask; + public final int[] segmentIds; + public final List origTokens; + public final Map tokenToOrigMap; + + public Feature( + List inputIds, + List inputMask, + List segmentIds, + List origTokens, + Map tokenToOrigMap) { + this.inputIds = Ints.toArray(inputIds); + this.inputMask = Ints.toArray(inputMask); + this.segmentIds = Ints.toArray(segmentIds); + this.origTokens = origTokens; + this.tokenToOrigMap = tokenToOrigMap; + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/FeatureConverter.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/FeatureConverter.java new file mode 100644 index 00000000..4540dd75 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/FeatureConverter.java @@ -0,0 +1,120 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ml; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import com.qualcomm.qti.qa.tokenization.FullTokenizer; + +/** Convert String to features that can be fed into BERT model. */ +public final class FeatureConverter { + private final FullTokenizer tokenizer; + private final int maxQueryLen; + private final int maxSeqLen; + + public FeatureConverter( + Map inputDic, boolean doLowerCase, int maxQueryLen, int maxSeqLen) { + + //maybe Here I need to change the tokenizer + this.tokenizer = new FullTokenizer(inputDic, doLowerCase); + this.maxQueryLen = maxQueryLen; + this.maxSeqLen = maxSeqLen; + } + + public Feature convert(String query, String context) { + + //This is only tokenizing query + //But i need to do tokenization for both query as well as question + List queryTokens = tokenizer.tokenize(query); + if (queryTokens.size() > maxQueryLen) { + queryTokens = queryTokens.subList(0, maxQueryLen); + } + + //This is doing pre-processing of Context + List origTokens = Arrays.asList(context.trim().split("\\s+")); + List tokenToOrigIndex = new ArrayList<>(); + List allDocTokens = new ArrayList<>(); + for (int i = 0; i < origTokens.size(); i++) { + String token = origTokens.get(i); + List subTokens = tokenizer.tokenize(token); + for (String subToken : subTokens) { + tokenToOrigIndex.add(i); + allDocTokens.add(subToken); + } + } + + // -3 accounts for [CLS], [SEP] and [SEP]. + int maxContextLen = maxSeqLen - queryTokens.size() - 3; + if (allDocTokens.size() > maxContextLen) { + allDocTokens = allDocTokens.subList(0, maxContextLen); + } + + List tokens = new ArrayList<>(); + List segmentIds = new ArrayList<>(); + + // Map token index to original index (in feature.origTokens). + Map tokenToOrigMap = new HashMap<>(); + + // Start of generating the features. + tokens.add("[CLS]"); + segmentIds.add(0); + + // For query input. + for (String queryToken : queryTokens) { + tokens.add(queryToken); + segmentIds.add(0); + } + + // For Separation. + tokens.add("[SEP]"); + segmentIds.add(0); + + // For Text Input. + for (int i = 0; i < allDocTokens.size(); i++) { + String docToken = allDocTokens.get(i); + tokens.add(docToken); + segmentIds.add(1); + tokenToOrigMap.put(tokens.size(), tokenToOrigIndex.get(i)); + } + + // For ending mark. + tokens.add("[SEP]"); + segmentIds.add(1); + + List inputIds = tokenizer.convertTokensToIds(tokens); + List inputMask = new ArrayList<>(Collections.nCopies(inputIds.size(), 1)); + + while (inputIds.size() < maxSeqLen) { + inputIds.add(0); + inputMask.add(0); + segmentIds.add(0); + } + + return new Feature(inputIds, inputMask, segmentIds, origTokens, tokenToOrigMap); + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/LoadDatasetClient.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/LoadDatasetClient.java new file mode 100644 index 00000000..857610e6 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/LoadDatasetClient.java @@ -0,0 +1,118 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ml; + +import android.content.Context; +import android.util.Log; +import com.google.gson.Gson; +import com.google.gson.stream.JsonReader; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * Interface to load squad dataset. Provide passages for users to choose from & provide questions + * for autoCompleteTextView. + */ +public class LoadDatasetClient { + private static final String TAG = "BertAppDemo"; + private static final String JSON_DIR = "qa.json"; + private static final String DIC_DIR = "vocab.txt"; + private final Context context; + + private String[] contents; + private String[] titles; + private String[][] questions; + + public LoadDatasetClient(Context context) { + this.context = context; + loadJson(); + } + + private void loadJson() { + try { + InputStream is = context.getAssets().open(JSON_DIR); + JsonReader reader = new JsonReader(new InputStreamReader(is)); + HashMap>> map = new Gson().fromJson(reader, HashMap.class); + List> jsonTitles = map.get("titles"); + List> jsonContents = map.get("contents"); + List> jsonQuestions = map.get("questions"); + + + //Getting the titles and contents from the json file + + titles = listToArray(jsonTitles); + contents = listToArray(jsonContents); + + //Getting all the questions + questions = new String[jsonQuestions.size()][]; + int index = 0; + for (List item : jsonQuestions) { + questions[index++] = item.toArray(new String[item.size()]); + } + } catch (IOException ex) { + Log.e(TAG, ex.toString()); + } + } + + private static String[] listToArray(List> list) { + String[] answer = new String[list.size()]; + int index = 0; + for (List item : list) { + answer[index++] = item.get(0); + } + return answer; + } + + public String[] getTitles() { + return titles; + } + + public String getContent(int index) { + return contents[index]; + } + + public String[] getQuestions(int index) { + return questions[index]; + } + + public Map loadDictionary() { + Map dic = new HashMap<>(); + try (InputStream ins = context.getAssets().open(DIC_DIR); + BufferedReader reader = new BufferedReader(new InputStreamReader(ins))) { + int index = 0; + while (reader.ready()) { + String key = reader.readLine(); + dic.put(key, index++); + } + } catch (IOException ex) { + Log.e(TAG, ex.getMessage()); + } + return dic; + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaAnswer.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaAnswer.java new file mode 100644 index 00000000..67034e23 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaAnswer.java @@ -0,0 +1,57 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ml; + +/** QA Answer class. */ +public class QaAnswer { + public Pos pos; + public String text; + + public QaAnswer(String text, Pos pos) { + this.text = text; + this.pos = pos; + } + + public QaAnswer(String text, int start, int end, float logit) { + this(text, new Pos(start, end, logit)); + } + + /** Position and related information from the model. */ + public static class Pos implements Comparable { + public int start; + public int end; + public float logit; + + public Pos(int start, int end, float logit) { + this.start = start; + this.end = end; + this.logit = logit; + } + + @Override + public int compareTo(Pos other) { + return Float.compare(other.logit, this.logit); + } + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaClient.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaClient.java new file mode 100644 index 00000000..2da22ac4 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ml/QaClient.java @@ -0,0 +1,316 @@ +// -*- mode: js -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@\n +// ============================================================================= + +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +/* Changes from QuIC are provided under the following license: + +Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +SPDX-License-Identifier: BSD-3-Clause +==============================================================================*/ + +package com.qualcomm.qti.qa.ml; + +import android.content.Context; +import android.content.res.AssetManager; +import androidx.annotation.WorkerThread; +import android.util.Log; +import android.widget.Toast; + +import com.google.common.base.Joiner; +import java.io.BufferedReader; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** Interface to load SNPE model and provide predictions. */ +public class QaClient { + private static final String TAG = "SNPE_Client"; + private static final String DIC_PATH = "vocab.txt"; + + private static final int MAX_ANS_LEN = 32; + private static final int MAX_QUERY_LEN = 64; + private static final int MAX_SEQ_LEN = 384; + private static final boolean DO_LOWER_CASE = true; + private static final int PREDICT_ANS_NUM = 3;// default 5; can be set to 3 without issues + private static final int NUM_LITE_THREADS = 1; + + // flag to track if SNPE instance is initialized + private static boolean doSnpeInit = true; + + // Need to shift 1 for outputs ([CLS]). + private static final int OUTPUT_OFFSET = 1; + + private final Context context; + private final Map dic = new HashMap<>(); + private final FeatureConverter featureConverter; + private AssetManager assetManager; + + private static final Joiner SPACE_JOINER = Joiner.on(" "); + + static { + System.loadLibrary("qa"); + } + + public QaClient(Context context) { + this.context = context; + this.featureConverter = new FeatureConverter(dic, DO_LOWER_CASE, MAX_QUERY_LEN, MAX_SEQ_LEN); + } + + @WorkerThread + public synchronized String loadModel(String Model) { + String uiLogger = ""; + try { + // query runtimes & init SNPE + if (doSnpeInit) { + String nativeDirPath = context.getApplicationInfo().nativeLibraryDir; + + uiLogger += queryRuntimes(nativeDirPath); + + // init SNPE + assetManager = context.getAssets(); + Toast.makeText(context,"Initializing SNPE",Toast.LENGTH_SHORT).show(); + Log.i(TAG, "onCreate: Initializing SNPE ..."); + uiLogger = initSNPE(assetManager, Model); + + doSnpeInit = false; + } + } catch (Exception ex) { + Log.e(TAG, ex.getMessage()); + uiLogger += ex.getMessage(); + } + return uiLogger; + } + + @WorkerThread + public synchronized void loadDictionary() { + try { + loadDictionaryFile(this.context.getAssets()); + Log.v(TAG, "Dictionary loaded."); + } catch (IOException ex) { + Log.e(TAG, ex.getMessage()); + } + } + + @WorkerThread + public synchronized void unload() { + dic.clear(); + } + + /** Load dictionary from assets. */ + public void loadDictionaryFile(AssetManager assetManager) throws IOException { + try (InputStream ins = assetManager.open(DIC_PATH); + BufferedReader reader = new BufferedReader(new InputStreamReader(ins))) { + int index = 0; + while (reader.ready()) { + String key = reader.readLine(); + dic.put(key, index++); + } + } + } + + /** + * Input: Original content and query for the QA task. Later converted to Feature by + * FeatureConverter. Output: A String[] array of answers and a float[] array of corresponding + * logits. + */ + //Added a New Parameter Model + @WorkerThread + public synchronized List predict(String query, String content, + String runtime,String Model,StringBuilder execStatus) { + Log.v(TAG, "Convert Feature..."); + Feature feature = featureConverter.convert(query, content); + //Toast.makeText(context, "Convert Feature Inside QA Client",Toast.LENGTH_SHORT).show(); + Log.v(TAG, "Set inputs..."); + float[][] inputIds = new float[1][MAX_SEQ_LEN]; + int[][] inpIds = new int[1][MAX_SEQ_LEN]; + float[][] inputMask = new float[1][MAX_SEQ_LEN]; + float[][] segmentIds = new float[1][MAX_SEQ_LEN]; + float[][] startLogits = new float[1][MAX_SEQ_LEN]; + float[][] endLogits = new float[1][MAX_SEQ_LEN]; + + for (int j = 0; j < MAX_SEQ_LEN; j++) { + inputIds[0][j] = feature.inputIds[j]; + inpIds[0][j] = feature.inputIds[j]; + inputMask[0][j] = feature.inputMask[j]; + segmentIds[0][j] = feature.segmentIds[j]; + } + +// Object[] inputs = {inputIds, inputMask, segmentIds}; + Map output = new HashMap<>(); + output.put(0, startLogits); + output.put(1, endLogits); + + Log.v(TAG, "Run inference..."); + if (runtime.equals("DSP")) { + Log.i(TAG, "Sending Inf request to SNPE DSP"); + + long htpSTime = System.currentTimeMillis(); + String dsp_logs = inferSNPE(runtime,Model,inputIds[0], inputMask[0], segmentIds[0], + MAX_SEQ_LEN, startLogits[0], endLogits[0]); + long htpETime = System.currentTimeMillis(); + long htpTime = htpETime - htpSTime; + Log.i(TAG, "DSP Exec took : " + htpTime + "ms"); + + if (! dsp_logs.isEmpty()) { + Log.i(TAG, "DSP Exec status : " + dsp_logs); + execStatus.append(dsp_logs); + } +// Log.i(TAG, "DSP: Startlogits = " + Arrays.toString(startLogits[0])); + } else { + Log.i(TAG, "Sending Inf request to SNPE CPU"); + String cpu_logs = inferSNPE(runtime,Model,inputIds[0], inputMask[0], segmentIds[0], + MAX_SEQ_LEN, startLogits[0], endLogits[0]); + + if (! cpu_logs.isEmpty()) { + Log.i(TAG, "CPU Exec status : " + cpu_logs); + execStatus.append(cpu_logs); + } +// Log.i(TAG, "predict: Startlogits = " + Arrays.toString(startLogits[0])); + } + + Log.v(TAG, "Convert logits to answers..."); + List answers = getBestAnswers(startLogits[0], endLogits[0], feature); + Log.v(TAG, "Finish."); + return answers; + } + + /** Find the Best N answers & logits from the logits array and input feature. */ + private synchronized List getBestAnswers( + float[] startLogits, float[] endLogits, Feature feature) { + // Model uses the closed interval [start, end] for indices. + int[] startIndexes = getBestIndex(startLogits, feature.tokenToOrigMap); + int[] endIndexes = getBestIndex(endLogits, feature.tokenToOrigMap); + + List origResults = new ArrayList<>(); + for (int start : startIndexes) { + for (int end : endIndexes) { + if (end < start) { + continue; + } + int length = end - start + 1; + if (length > MAX_ANS_LEN) { + continue; + } + origResults.add(new QaAnswer.Pos(start, end, startLogits[start] + endLogits[end])); + } + } + + Collections.sort(origResults); + + List answers = new ArrayList<>(); + for (int i = 0; i < origResults.size(); i++) { + if (i >= PREDICT_ANS_NUM) { + break; + } + + String convertedText; + if (origResults.get(i).start > 0) { + convertedText = convertBack(feature, origResults.get(i).start, origResults.get(i).end); + } else { + convertedText = ""; + } + QaAnswer ans = new QaAnswer(convertedText, origResults.get(i)); + answers.add(ans); + } + return answers; + } + + /** Get the n-best logits from a list of all the logits. */ + @WorkerThread + private synchronized int[] getBestIndex(float[] logits, Map tokenToOrigMap) { + List tmpList = new ArrayList<>(); + for (int i = 0; i < MAX_SEQ_LEN; i++) { + if (tokenToOrigMap.containsKey(i + OUTPUT_OFFSET)) { + tmpList.add(new QaAnswer.Pos(i, i, logits[i])); + } + } + + Collections.sort(tmpList); + + int[] indexes = new int[PREDICT_ANS_NUM]; + for (int i = 0; i < PREDICT_ANS_NUM; i++) { + indexes[i] = tmpList.get(i).start; + } + + return indexes; + } + + /** Convert the answer back to original text form. */ + @WorkerThread + private static String convertBack(Feature feature, int start, int end) { + // Shifted index is: index of logits + offset. + int shiftedStart = start + OUTPUT_OFFSET; + int shiftedEnd = end + OUTPUT_OFFSET; + int startIndex = feature.tokenToOrigMap.get(shiftedStart); + int endIndex = feature.tokenToOrigMap.get(shiftedEnd); + // end + 1 for the closed interval. + String ans = SPACE_JOINER.join(feature.origTokens.subList(startIndex, endIndex + 1)); + return ans; + } + + /** + * A native method that is implemented by the 'qa' native library, + * which is packaged with this application. + */ + public native String queryRuntimes(String nativeDirPath); + public native String initSNPE(AssetManager assetManager, String Model); + public native String inferSNPE(String runtime,String Model, float[] input_ids, + float[] attn_masks, float[] seg_ids, + int arraySizes, + float[] startLogits, float[] endLogits); +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/BasicTokenizer.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/BasicTokenizer.java new file mode 100644 index 00000000..4264ebba --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/BasicTokenizer.java @@ -0,0 +1,113 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.tokenization; + +import com.google.common.base.Ascii; +import com.google.common.collect.Iterables; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** Basic tokenization (punctuation splitting, lower casing, etc.) */ +public final class BasicTokenizer { + private final boolean doLowerCase; + + public BasicTokenizer(boolean doLowerCase) { + this.doLowerCase = doLowerCase; + } + + public List tokenize(String text) { + String cleanedText = cleanText(text); + + List origTokens = whitespaceTokenize(cleanedText); + + StringBuilder stringBuilder = new StringBuilder(); + for (String token : origTokens) { + if (doLowerCase) { + token = Ascii.toLowerCase(token); + } + List list = runSplitOnPunc(token); + for (String subToken : list) { + stringBuilder.append(subToken).append(" "); + } + } + return whitespaceTokenize(stringBuilder.toString()); + } + + /* Performs invalid character removal and whitespace cleanup on text. */ + static String cleanText(String text) { + if (text == null) { + throw new NullPointerException("The input String is null."); + } + + StringBuilder stringBuilder = new StringBuilder(""); + for (int index = 0; index < text.length(); index++) { + char ch = text.charAt(index); + + // Skip the characters that cannot be used. + if (CharChecker.isInvalid(ch) || CharChecker.isControl(ch)) { + continue; + } + if (CharChecker.isWhitespace(ch)) { + stringBuilder.append(" "); + } else { + stringBuilder.append(ch); + } + } + return stringBuilder.toString(); + } + + /* Runs basic whitespace cleaning and splitting on a piece of text. */ + static List whitespaceTokenize(String text) { + if (text == null) { + throw new NullPointerException("The input String is null."); + } + return Arrays.asList(text.split(" ")); + } + + /* Splits punctuation on a piece of text. */ + static List runSplitOnPunc(String text) { + if (text == null) { + throw new NullPointerException("The input String is null."); + } + + List tokens = new ArrayList<>(); + boolean startNewWord = true; + for (int i = 0; i < text.length(); i++) { + char ch = text.charAt(i); + if (CharChecker.isPunctuation(ch)) { + tokens.add(String.valueOf(ch)); + startNewWord = true; + } else { + if (startNewWord) { + tokens.add(""); + startNewWord = false; + } + tokens.set(tokens.size() - 1, Iterables.getLast(tokens) + ch); + } + } + + return tokens; + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/CharChecker.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/CharChecker.java new file mode 100644 index 00000000..e2ec782c --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/CharChecker.java @@ -0,0 +1,67 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.tokenization; + +/** To check whether a char is whitespace/control/punctuation. */ +final class CharChecker { + + /** To judge whether it's an empty or unknown character. */ + public static boolean isInvalid(char ch) { + return (ch == 0 || ch == 0xfffd); + } + + /** To judge whether it's a control character(exclude whitespace). */ + public static boolean isControl(char ch) { + if (Character.isWhitespace(ch)) { + return false; + } + int type = Character.getType(ch); + return (type == Character.CONTROL || type == Character.FORMAT); + } + + /** To judge whether it can be regarded as a whitespace. */ + public static boolean isWhitespace(char ch) { + if (Character.isWhitespace(ch)) { + return true; + } + int type = Character.getType(ch); + return (type == Character.SPACE_SEPARATOR + || type == Character.LINE_SEPARATOR + || type == Character.PARAGRAPH_SEPARATOR); + } + + /** To judge whether it's a punctuation. */ + public static boolean isPunctuation(char ch) { + int type = Character.getType(ch); + return (type == Character.CONNECTOR_PUNCTUATION + || type == Character.DASH_PUNCTUATION + || type == Character.START_PUNCTUATION + || type == Character.END_PUNCTUATION + || type == Character.INITIAL_QUOTE_PUNCTUATION + || type == Character.FINAL_QUOTE_PUNCTUATION + || type == Character.OTHER_PUNCTUATION); + } + + private CharChecker() {} +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/FullTokenizer.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/FullTokenizer.java new file mode 100644 index 00000000..fca21597 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/FullTokenizer.java @@ -0,0 +1,61 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.tokenization; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** + * A java realization of Bert tokenization. Original python code: + * https://github.com/google-research/bert/blob/master/tokenization.py runs full tokenization to + * tokenize a String into split subtokens or ids. + */ +public final class FullTokenizer { + private final BasicTokenizer basicTokenizer; + private final WordpieceTokenizer wordpieceTokenizer; + private final Map dic; + + public FullTokenizer(Map inputDic, boolean doLowerCase) { + dic = inputDic; + basicTokenizer = new BasicTokenizer(doLowerCase); + wordpieceTokenizer = new WordpieceTokenizer(inputDic); + } + + public List tokenize(String text) { + List splitTokens = new ArrayList<>(); + for (String token : basicTokenizer.tokenize(text)) { + splitTokens.addAll(wordpieceTokenizer.tokenize(token)); + } + return splitTokens; + } + + public List convertTokensToIds(List tokens) { + List outputIds = new ArrayList<>(); + for (String token : tokens) { + outputIds.add(dic.get(token)); + } + return outputIds; + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/WordpieceTokenizer.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/WordpieceTokenizer.java new file mode 100644 index 00000000..d8599270 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/tokenization/WordpieceTokenizer.java @@ -0,0 +1,103 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.tokenization; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +/** Word piece tokenization to split a piece of text into its word pieces. */ +public final class WordpieceTokenizer { + private final Map dic; + + private static final String UNKNOWN_TOKEN = "[UNK]"; // For unknown words. + private static final int MAX_INPUTCHARS_PER_WORD = 200; + + public WordpieceTokenizer(Map vocab) { + dic = vocab; + } + + /** + * Tokenizes a piece of text into its word pieces. This uses a greedy longest-match-first + * algorithm to perform tokenization using the given vocabulary. For example: input = "unaffable", + * output = ["un", "##aff", "##able"]. + * + * @param text: A single token or whitespace separated tokens. This should have already been + * passed through `BasicTokenizer. + * @return A list of wordpiece tokens. + */ + public List tokenize(String text) { + if (text == null) { + throw new NullPointerException("The input String is null."); + } + + List outputTokens = new ArrayList<>(); + for (String token : BasicTokenizer.whitespaceTokenize(text)) { + + if (token.length() > MAX_INPUTCHARS_PER_WORD) { + outputTokens.add(UNKNOWN_TOKEN); + continue; + } + + boolean isBad = false; // Mark if a word cannot be tokenized into known subwords. + int start = 0; + List subTokens = new ArrayList<>(); + + while (start < token.length()) { + String curSubStr = ""; + + int end = token.length(); // Longer substring matches first. + while (start < end) { + String subStr = + (start == 0) ? token.substring(start, end) : "##" + token.substring(start, end); + if (dic.containsKey(subStr)) { + curSubStr = subStr; + break; + } + end--; + } + + // The word doesn't contain any known subwords. + if ("".equals(curSubStr)) { + isBad = true; + break; + } + + // curSubStr is the longeset subword that can be found. + subTokens.add(curSubStr); + + // Proceed to tokenize the resident string. + start = end; + } + + if (isBad) { + outputTokens.add(UNKNOWN_TOKEN); + } else { + outputTokens.addAll(subTokens); + } + } + + return outputTokens; + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/DatasetListActivity.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/DatasetListActivity.java new file mode 100644 index 00000000..7e4a32a0 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/DatasetListActivity.java @@ -0,0 +1,61 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ui; + +import android.os.Bundle; +import androidx.appcompat.app.AppCompatActivity; + +import android.widget.ArrayAdapter; +import android.widget.ListView; +import com.qualcomm.qti.R; +import com.qualcomm.qti.qa.ml.LoadDatasetClient; + +/** + * An activity representing a list of Datasets. This activity has different presentations for + * handset and tablet-size devices. On handsets, the activity presents a list of items, which when + * touched, lead to a {@link QaActivity} representing item details. On tablets, the activity + * presents the list of items and item details side-by-side using two vertical panes. + */ +public class DatasetListActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_dataset_list); + + ListView listView = findViewById(R.id.dataset_list); + assert listView != null; + + LoadDatasetClient datasetClient = new LoadDatasetClient(this); + ArrayAdapter datasetAdapter = + new ArrayAdapter<>( + this, android.R.layout.simple_selectable_list_item, datasetClient.getTitles()); + listView.setAdapter(datasetAdapter); + + listView.setOnItemClickListener( + (parent, view, position, id) -> { + startActivity(QaActivity.newInstance(this, position)); + }); + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QaActivity.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QaActivity.java new file mode 100644 index 00000000..55e87390 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QaActivity.java @@ -0,0 +1,403 @@ +// -*- mode: js -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@\n +// ============================================================================= + +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ + +/* Changes from QuIC are provided under the following license: + +Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + +SPDX-License-Identifier: BSD-3-Clause +==============================================================================*/ + +package com.qualcomm.qti.qa.ui; + +import android.content.Context; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.HandlerThread; +import android.speech.tts.TextToSpeech; +import androidx.appcompat.app.AppCompatActivity; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import android.text.Editable; +import android.text.Spannable; +import android.text.SpannableString; +import android.text.TextWatcher; +import android.text.method.ScrollingMovementMethod; +import android.text.style.BackgroundColorSpan; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ImageButton; +import android.widget.Spinner; +import android.widget.TextView; +import android.widget.Toast; + +import com.google.android.material.snackbar.Snackbar; +import com.google.android.material.textfield.TextInputEditText; +import java.util.List; +import java.util.Locale; +import com.qualcomm.qti.R; +import com.qualcomm.qti.qa.ml.LoadDatasetClient; +import com.qualcomm.qti.qa.ml.QaAnswer; +import com.qualcomm.qti.qa.ml.QaClient; + +/** Activity for doing Q&A on a specific dataset */ +public class QaActivity extends AppCompatActivity { + + private static final String DATASET_POSITION_KEY = "DATASET_POSITION"; + private static final String TAG = "SNPE_Activity"; + private static final boolean DISPLAY_RUNNING_TIME = true; + + private TextInputEditText questionEditText; + private TextView contentTextView; + private TextToSpeech textToSpeech; + + private boolean questionAnswered = false; + private String content; + private Handler handler; + private QaClient qaClient; + final String[] model = {"alberta"}; + + public static Intent newInstance(Context context, int datasetPosition) { + Intent intent = new Intent(context, QaActivity.class); + intent.putExtra(DATASET_POSITION_KEY, datasetPosition); + return intent; + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + Log.v(TAG, "onCreate"); + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_qa); + + // Get content of the selected dataset. + int datasetPosition = getIntent().getIntExtra(DATASET_POSITION_KEY, -1); + LoadDatasetClient datasetClient = new LoadDatasetClient(this); + + // Show the dataset title. + TextView titleText = findViewById(R.id.title_text); + titleText.setText(datasetClient.getTitles()[datasetPosition]); + + // Show the text content of the selected dataset. + content = datasetClient.getContent(datasetPosition); + contentTextView = findViewById(R.id.content_text); + contentTextView.setText(content); + contentTextView.setMovementMethod(new ScrollingMovementMethod()); + + // Setup question suggestion list. + RecyclerView questionSuggestionsView = findViewById(R.id.suggestion_list); + QuestionAdapter adapter = + new QuestionAdapter(this, datasetClient.getQuestions(datasetPosition)); + adapter.setOnQuestionSelectListener(question -> answerQuestion(question)); + questionSuggestionsView.setAdapter(adapter); + LinearLayoutManager layoutManager = + new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false); + questionSuggestionsView.setLayoutManager(layoutManager); + + + //=========================== Model Selection ==============================// + Spinner model_dropdown = findViewById(R.id.model_spinner); + String[] model_items = new String[]{"alberta","electra_small","mobile_bert"}; + + ArrayAdapter model_adapter = new ArrayAdapter(QaActivity.this, + android.R.layout.simple_spinner_item,model_items); + + model_adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + model_dropdown.setAdapter(model_adapter); + model_dropdown.setOnItemSelectedListener( + new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView arg0, View arg1, + int arg2, long arg3) { + model[0] =model_dropdown.getSelectedItem().toString(); + Toast.makeText(QaActivity.this,"Model selected: "+ model[0],Toast.LENGTH_SHORT).show(); + + //Initializing the Selected Model + handler.post( + () -> { + String initLogs = qaClient.loadModel(model[0]); + if(!initLogs.isEmpty()) { + Snackbar initSnackbar = + Snackbar.make(contentTextView, initLogs, Snackbar.LENGTH_SHORT); + initSnackbar.show(); + } + qaClient.loadDictionary(); + }); + } + @Override + public void onNothingSelected(AdapterView arg0) { + // TODO Auto-generated method stub + model[0] = "alberta"; + } + }); + + //=========================== model Selection End==============================// + + //=========================== Runtime Selection ==============================// + + Spinner dropdown = findViewById(R.id.runtime_spinner); + String[] items = new String[]{"DSP", "CPU"}; + + ArrayAdapter ddadapter = new ArrayAdapter(QaActivity.this, + android.R.layout.simple_spinner_item,items); + + ddadapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + dropdown.setAdapter(ddadapter); + final String[] runtime = {"DSP"}; + dropdown.setOnItemSelectedListener( + new AdapterView.OnItemSelectedListener() { + @Override + public void onItemSelected(AdapterView arg0, View arg1, + int arg2, long arg3) { + runtime[0] =dropdown.getSelectedItem().toString(); + Log.i("SPINNER: Dropdown selected is ", runtime[0]); + Toast.makeText(QaActivity.this,"Runtime selected: "+ runtime[0],Toast.LENGTH_SHORT).show(); + } + @Override + public void onNothingSelected(AdapterView arg0) { + // TODO Auto-generated method stub + runtime[0] = "DSP"; + } + }); + //=========================== Runtime Selection End==============================// + // Setup ask button. + ImageButton askButton = findViewById(R.id.ask_button); + askButton.setOnClickListener( + view -> answerQuestion(questionEditText.getText().toString())); + + // Setup text edit where users can input their question. + questionEditText = findViewById(R.id.question_edit_text); + questionEditText.setOnFocusChangeListener( + (view, hasFocus) -> { + // If we already answer current question, clear the question so that user can input a new + // one. + if (hasFocus && questionAnswered) { + questionEditText.setText(null); + } + }); + questionEditText.addTextChangedListener( + new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { + // Only allow clicking Ask button if there is a question. + boolean shouldAskButtonActive = !charSequence.toString().isEmpty(); + askButton.setClickable(shouldAskButtonActive); + askButton.setImageResource( + shouldAskButtonActive ? R.drawable.ic_ask_active : R.drawable.ic_ask_inactive); + } + + @Override + public void afterTextChanged(Editable editable) {} + }); + questionEditText.setOnKeyListener( + (v, keyCode, event) -> { + if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_ENTER) { + answerQuestion(questionEditText.getText().toString()); + } + return false; + }); + // Setup QA client to and background thread to run inference. + HandlerThread handlerThread = new HandlerThread("QAClient"); + handlerThread.start(); + handler = new Handler(handlerThread.getLooper()); + qaClient = new QaClient(this); + } + + @Override + protected void onStart() { + Log.v(TAG, "onStart"); + super.onStart(); + + //Here Loading the particular Model + //Here In the Init Part I'll Create a if-else loop and load the selected Model + //This Model Loading Part is also done in selection part also + handler.post( + () -> { + String initLogs = qaClient.loadModel(model[0]); + if(!initLogs.isEmpty()) { + Snackbar initSnackbar = + Snackbar.make(contentTextView, initLogs, Snackbar.LENGTH_SHORT); + initSnackbar.show(); + } + qaClient.loadDictionary(); + }); + + //This is to say the answer using speech + textToSpeech = + new TextToSpeech( + this, + status -> { + if (status == TextToSpeech.SUCCESS) { + textToSpeech.setLanguage(Locale.US); + } else { + textToSpeech = null; + } + }); + } + + @Override + protected void onStop() { + Log.v(TAG, "onStop"); + super.onStop(); + handler.post(() -> qaClient.unload()); + + if (textToSpeech != null) { + textToSpeech.stop(); + textToSpeech.shutdown(); + } + } + + private void answerQuestion(String question) { + question = question.trim(); + if (question.isEmpty()) { + questionEditText.setText(question); + return; + } + + // Append question mark '?' if not ended with '?'. + // This aligns with question format that trains the model. + if (!question.endsWith("?")) { + question += '?'; + } + final String questionToAsk = question; + questionEditText.setText(questionToAsk); + + // Delete all pending tasks. + handler.removeCallbacksAndMessages(null); + + // Hide keyboard and dismiss focus on text edit. + InputMethodManager imm = + (InputMethodManager) getSystemService(AppCompatActivity.INPUT_METHOD_SERVICE); + imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); + View focusView = getCurrentFocus(); + if (focusView != null) { + focusView.clearFocus(); + } + + // Reset content text view + contentTextView.setText(content); + + questionAnswered = false; + + Snackbar runningSnackbar = + Snackbar.make(contentTextView, "Looking up answer...", Snackbar.LENGTH_INDEFINITE); + runningSnackbar.show(); + + // Run TF Lite model to get the answer. + handler.post( + () -> { + Spinner dropdown = findViewById(R.id.runtime_spinner); + String runtime=dropdown.getSelectedItem().toString(); + Log.i("SPINNER: Dropdown selected is ", runtime); + Spinner model_dropdown=findViewById(R.id.model_spinner); + String model= model_dropdown.getSelectedItem().toString(); + + StringBuilder execStatus = new StringBuilder (); + + long beforeTime = System.currentTimeMillis(); + + //To predict the answer with given question and content + // Here Runtime and Model is also passed as parameter to say which model to run + //Model is already loaded when selecting the dropdown menu for model + final List answers = qaClient.predict(questionToAsk, content, runtime,model, execStatus); + long afterTime = System.currentTimeMillis(); + double totalSeconds = (afterTime - beforeTime) / 1000.0; + + if (!answers.isEmpty()) { + // Get the top answer + QaAnswer topAnswer = answers.get(0); + // Show the answer. + runOnUiThread( + () -> { + runningSnackbar.dismiss(); + presentAnswer(topAnswer); + + String displayMessage = runtime + " runtime took : "; + if (DISPLAY_RUNNING_TIME) { + displayMessage = String.format("%s %.3f sec.", displayMessage, totalSeconds); + } + if (! execStatus.toString().isEmpty()) + Snackbar.make(contentTextView, execStatus.toString(), Snackbar.LENGTH_LONG).show(); + else + Snackbar.make(contentTextView, displayMessage, Snackbar.LENGTH_LONG).show(); + + questionAnswered = true; + }); + } + }); + } + + private void presentAnswer(QaAnswer answer) { + // Highlight answer. + Spannable spanText = new SpannableString(content); + int offset = content.indexOf(answer.text, 0); + if (offset >= 0) { + spanText.setSpan( + new BackgroundColorSpan(getColor(R.color.secondaryColor)), + offset, + offset + answer.text.length(), + Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); + } + contentTextView.setText(spanText); + + // Use TTS to speak out the answer. + if (textToSpeech != null) { + textToSpeech.speak(answer.text, TextToSpeech.QUEUE_FLUSH, null, answer.text); + } + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QuestionAdapter.java b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QuestionAdapter.java new file mode 100644 index 00000000..fbe5a37d --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/java/com/qualcomm/qti/qa/ui/QuestionAdapter.java @@ -0,0 +1,86 @@ +// -*- mode: java -*- +// ============================================================================= +// @@-COPYRIGHT-START-@@ +// +// Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +// SPDX-License-Identifier: BSD-3-Clause +// +// @@-COPYRIGHT-END-@@ +// ============================================================================= +/* Copyright 2019 The TensorFlow Authors. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +==============================================================================*/ +package com.qualcomm.qti.qa.ui; + +import android.content.Context; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import com.google.android.material.chip.Chip; +import com.qualcomm.qti.R; + +/** Adapter class to show question suggestion chips. */ +public class QuestionAdapter extends RecyclerView.Adapter { + + private LayoutInflater inflater; + private String[] questions; + private OnQuestionSelectListener onQuestionSelectListener; + + public QuestionAdapter(Context context, String[] questions) { + inflater = LayoutInflater.from(context); + this.questions = questions; + } + + @Override + public QuestionAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + + View view = inflater.inflate(R.layout.question_chip, parent, false); + MyViewHolder holder = new MyViewHolder(view); + + return holder; + } + + @Override + public void onBindViewHolder(QuestionAdapter.MyViewHolder holder, int position) { + holder.chip.setText(questions[position]); + holder.chip.setOnClickListener( + view -> onQuestionSelectListener.onQuestionSelect(questions[position])); + } + + @Override + public int getItemCount() { + return questions.length; + } + + public void setOnQuestionSelectListener(OnQuestionSelectListener onQuestionSelectListener) { + this.onQuestionSelectListener = onQuestionSelectListener; + } + + class MyViewHolder extends RecyclerView.ViewHolder { + + Chip chip; + + public MyViewHolder(View itemView) { + super(itemView); + chip = itemView.findViewById(R.id.chip); + } + } + + /** Interface for callback when a question is selected. */ + public interface OnQuestionSelectListener { + void onQuestionSelect(String question); + } +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_active.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_active.xml new file mode 100644 index 00000000..a6764691 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_active.xml @@ -0,0 +1,12 @@ + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_inactive.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_inactive.xml new file mode 100644 index 00000000..4cd7a354 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/drawable/ic_ask_inactive.xml @@ -0,0 +1,12 @@ + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_dataset_list.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_dataset_list.xml new file mode 100644 index 00000000..61563c6b --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_dataset_list.xml @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_qa.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_qa.xml new file mode 100644 index 00000000..f0c5d08d --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/activity_qa.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/question_chip.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/question_chip.xml new file mode 100644 index 00000000..37a93f09 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/layout/question_chip.xml @@ -0,0 +1,14 @@ + + + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 00000000..67820c56 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 00000000..67820c56 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..5772f32b1e0aaf2f592c1156e8eb00203bdca5eb GIT binary patch literal 2442 zcmV;533c{TNk&G32><|BMM6+kP&iC=2><{uN5Byf716P^ZH?q;7qb9ER;p^|VPS3y?@s6m*lB#5mWa`KfGqW>x#LOtO{jZ@;hkb@w#x=+hbHr?C zea`kTxE5ASE#LGP|To`&Oig;I`k93 z9QA(S2^LVZ|A%S0je-OFS&*S=A*n)!SqRp-4sM$Z58D0#VBOV0n?0lcaoNRN8K#g# zA)`Te<%I|BSqC)*TBtGp0^LDO^=zKgw zXf9lhQA|cDCW{=cNM>RMB5532u!(dSVJIH4p{eL#N!S z1)E{JK_=?tZVo1)5p7h|tl7JN#I*MQ!2O6GGsU>q&p|Mw->iuvqC<%R8VYvQCgk8lenkp_Nh9g|&Wqr;~wH4|S{) z08azQtW+kg;VEDtg7Q%#lI=|)CI;FtLO!X_cW?;_BqU0psO2+7tkBcSeG>vw=uo4FLc_ z8rXbVN?SRSw7tdcZ3QW2lD3zwGZzjYR_+Hl!`Ed{myZ>d!yN#C%3P4w_LkZ8qwC1c zyEz?i{d#^l1swo@DiNT@X9VUTl{4P~5Y_~Xqcu+h3CF7lRncqg;!QvEEDCOXw2^IP zO;{BKX#{o&NsUh^lTwkn2=tQri*30G9lWSq0|3y@3p7akp(@Jm=|O4Vz<+1&EtZuwf3(9koC1#Ck5Q~a zpqn8806ecbUgeyxbn0F}wemve`Lp*MM2tFTL4(tS8WqDVqX2-r2T;~sAK((w3tKzN zYkOf?md)+Zg?%0mV761s7C}QP=4O=@h{pjsh=D`IaE!ZSl9Z^NF ztFF}xSsl$mkRq#{6

RyTGXO(NeHHb2k#_L(8GU39DRFft!mI20*jW!oy=(#?Uit z4J!cvXs#&O9)k~N39Y?PnSo`9_~JmPB@#968evWmmL*YDxJXpugn8u}Zg)doxEUD& z%|?o3Q!i;{Cu;f3GHU2K20I18`&pb7%|bIoc0OEWn0lq+8XT&1lJj?I`S=7G1}z>> zB;oc>%@D9lO6HV5|7#SI?3YLtPlYD%p1uI1DhMDMW97%>KgC(QnM2$}tqeU9Xs41f5F$h#- zKBdoKnr_IbhW9z@5l z>3H$kVx#|a23E+l@!S4`m~Du$voJ%vbb-Y&fHg6IjRJ#qqo>tBW*XvCe^XfWH`9{m z`F`fOuI=!2s690M;}5Zyv`0R>MEA)K_E}#)4-N(Rax2|67*#`OT|Ff64KmGL(Kr IL*}Sd01KIR761SM literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..62755381fb1965d558549da7455987c25e5be7e1 GIT binary patch literal 3734 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 IzM#dY6#g@LdjJ3c literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..fcaa7a965eef8e6f5956d27af203916020496613 GIT binary patch literal 1492 zcmV;_1uObeNk&G@1pok7MM6+kP&iD$1pojqFTe{B^~klh?UBo+8xqh@)e9BvFO-W@@>TECF8Ytv YIkPii^4r!0TD+Q^D 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 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-mdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..eadd0e7a4f6347221126c7a8979f5d4f175b1114 GIT binary patch literal 2648 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 GHEaU#Pc%FL literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..10c4e25dc04c92263228492384fe24e4ae3766c6 GIT binary patch literal 3506 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 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp new file mode 100644 index 0000000000000000000000000000000000000000..ec94fc719d0fdf02911bf7f729ae0ad885e7d9c6 GIT binary patch literal 5358 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 M;Qs^se*j7X0P`0EEdT%j literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xhdpi/ic_launcher_round.webp new file mode 100644 index 0000000000000000000000000000000000000000..5920587501c7517a47d2316a764e8b5ada88847b GIT binary patch literal 6706 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 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/mipmap-xxxhdpi/ic_launcher.webp new file mode 100644 index 0000000000000000000000000000000000000000..9af0064191200d2ecbfb0f274ffca1af7b82e6a8 GIT binary patch literal 8428 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%0DZ8iD;=jM6FPOlf82SXkgltN{sd4cWB48P&qYrwu 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 + + #1034a6 + #1167b1 + #111e6c + #eeff41 + #ffff78 + #b8cc00 + #ffffff + #000000 + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/dimens.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/dimens.xml new file mode 100644 index 00000000..dc88c8e4 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/dimens.xml @@ -0,0 +1,8 @@ + + + 16dp + 200dp + 200dp + 16dp + 16dp + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/ic_launcher_background.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 00000000..733e1903 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #72CFF2 + \ No newline at end of file diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/strings.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/strings.xml new file mode 100644 index 00000000..c973b81a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/strings.xml @@ -0,0 +1,10 @@ + + Question Answering + Banner + Please select an article below. + Datasets + Dataset Detail + You might want to ask? + Text query + Ask question + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/styles.xml b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/styles.xml new file mode 100644 index 00000000..9dc7850a --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/bert/src/main/res/values/styles.xml @@ -0,0 +1,23 @@ + + + + + + + + + diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/build.gradle b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/build.gradle new file mode 100644 index 00000000..dff2ebf4 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/build.gradle @@ -0,0 +1,27 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. + +buildscript { + ext.kotlin_version = '1.3.61' + repositories { + google() + jcenter() + } + dependencies { + classpath 'com.android.tools.build:gradle:7.0.1' + classpath 'de.undercouch:gradle-download-task:4.0.0' + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle.properties b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle.properties new file mode 100644 index 00000000..8420514f --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle.properties @@ -0,0 +1,16 @@ +## For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +# Default value: -Xmx1024m -XX:MaxPermSize=256m +# org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 +# +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +#Thu Nov 21 16:49:13 EST 2019 +android.enableJetifier=true +org.gradle.jvmargs=-Xmx2048M -Dkotlin.daemon.jvm.options\="-Xmx2048M" +android.useAndroidX=true diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle/wrapper/gradle-wrapper.properties b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 00000000..692a5d60 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew new file mode 100644 index 00000000..a7fd78cd --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew @@ -0,0 +1,234 @@ +#!/bin/sh + +# +# Copyright 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions $var, ${var}, ${var:-default}, ${var+SET}, +# ${var#prefix}, ${var%suffix}, and $( cmd ); +# * compound commands having a testable exit status, especially case; +# * various built-in commands including command, set, and ulimit. +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +APP_NAME="Gradle" +APP_BASE_NAME=${0##*/} + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew.bat b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew.bat new file mode 100644 index 00000000..ac1b06f9 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/gradlew.bat @@ -0,0 +1,89 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/settings.gradle b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/settings.gradle new file mode 100644 index 00000000..76889bd9 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/QuestionAnswering/settings.gradle @@ -0,0 +1 @@ +include ':bert' diff --git a/ai-solutions/android/05-QuestionAnswering/README.md b/ai-solutions/android/05-QuestionAnswering/README.md new file mode 100644 index 00000000..d5b8784e --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/README.md @@ -0,0 +1,183 @@ +# OnDevice Question-Answering with Transformers + +- [Introduction](#introduction) +- [Prerequisites](#prerequisites) +- [Quick Start](#quick-start) +- [Model Selection and DLC conversion](#1-model-preparation) + 1. Model Overview + 2. Steps to convert model to DLC + +- [Build and Run with Android Studio](#4-build-and-run-with-android-studio) + 1. [Source Organization](###Source Organization) + 2. [Code implementataion](### Code Implementation) +- [Qualcomm® Neural Processing SDK C++ APIs JNI Integration](#qualcomm-neural-processing-sdk-c-apis-jni-integration) +- [Build APK file with Android Studio](## Build APK file With Android Stduio) +- [Reults](## Results) +- [Credits](#credits) +- [References](#references) + +# Introduction + +Question Answering (QA) is one of the common and challenging Natural Language Processing tasks.
+- Current project is an sample Android application for OnDevice Question Ansering using [Qualcomm® Neural Processing SDK for AI](https://developer.qualcomm.com/sites/default/files/docs/snpe/index.html) framework. +- We have used 3 Models in this Solution + 1. [Albert](https://github.com/google-research/ALBERT) + 2. [Mobilebert](https://github.com/gemde001/MobileBERT) + 3. [Electra-small-discriminator](https://huggingface.co/google/electra-small-discriminator) +- We Need to Give 3 Inputs, Input_ids, Attention_Mask, Token_Type_Ids of fixed Size(1,384) +- All 3 Models are small, efficient and mobile friendly Transformer model fine-tuned on [SQUAD v2.0 dataset](https://rajpurkar.github.io/SQuAD-explorer/explore/v2.0/dev/) for **Q&A** downstream task +- In this project, we'll show how to efficiently convert, deploy and acclerate of these model on Snapdragon® platforms to perform Ondevice Question Answering. + +

+ +

+ +## Prerequisites +* Android Studio to import and build the project +* Android NDK "r19c" or "r21e" to build native code in Android Studio +* Python 3.6, PyTorch 1.10.1, Tensorflow 2.6.2, Transformers 4.18.0, Datasets 2.4.0 to prepare and validate the model
+ ###### (above mentioned Python packages version and Android Studio version is just a recommendation and is not a hard requirement. Please install SDK dependencies in Python 3.6 virtual environment) +* [Qualcomm® Neural Processing Engine for AI SDK](https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk) v2.x.x and its [dependencies](https://developer.qualcomm.com/sites/default/files/docs/snpe/setup.html) to integrate and accelerate the network on Snapdragon
+ ###### (During developement of this tutorial, the AI SDK recommends Python 3.6 version and is subject to change with future SDK releases. Please refer SDK Release Notes.) + + +# Quick Start + +## 1. Model Preparation + +### 1.1 Generate Electra-small model as Tensorflow Frozen Graph: + +``` +python scripts/qa_model_gen.py +``` +Model will get generated at `./frozen_models` directory with name `electra_small_squad2.pb` having input Sequence_Length = `384`
+ +### 1.2 Generating Mobilebert and Albert Model: +Please go to scripts/generating_model.ipynb file to generate these 2 models. +
+#### 1.2 Setup the Qualcomm® Neural Processing SDK Environment: +``` +source /bin/envsetup.sh -t $TENSORFLOW_DIR +``` + +### 1.3 Convert generated frozen graph into DLC (Deep Learning Container): +``` +snpe-tensorflow-to-dlc -i frozen_models/electra_small_squad2.pb -d input_ids 1,384 -d attention_mask 1,384 -d token_type_ids 1,384 --out_node Identity --out_node Identity_1 -o frozen_models/electra_small_squad2.dlc +``` +``` +snpe-onnx-to-dlc -i alberta-onnx/model.onnx -d input_ids 1,384 -d attention_mask 1,384 -d token_type_ids 1,384 -o alberta.dlc +``` +``` +snpe-onnx-to-dlc -i mobilebert-onnx/model.onnx -d input_ids 1,384 -d attention_mask 1,384 -d token_type_ids 1,384 -o mobile_bert.dlc +``` +where "input_ids, attention_mask, token_type_ids" are input of the model.

+This command converts Tensorflow/onnx-model into DLC format, which DSP, GPU And CPU accelerators can understand for running inference.
+ +###### (If you are using a different Tensorflow version to generate PB file, it may be a case that Output Layer names gets changed. Please check once by visualizing graph using Netron viewer or any other visualization tools )
+ + +### 1.4 Offline Preparation (caching) of DLC (for optimizing model loading time on DSP accelerator) +If You're using it to lanai device please build it for sm8650. +``` +snpe-dlc-graph-prepare --input_dlc frozen_models/electra_small_squad2.dlc --use_float_io --htp_archs v73 +``` +``` +snpe-dlc-graph-prepare --input_dlc alberta.dlc --input_list tf_raw_list.txt --output_dlc alberta_float.dlc --set_output_tensors end_logits,start_logits --use_float_io --htp_socs sm8550 +``` +``` +snpe-dlc-graph-prepare --input_dlc mobile_bert.dlc --input_list tf_raw_list.txt --output_dlc mobile_bert_float.dlc --use_float_io --set_output_tensors end_logits,start_logits --htp_socs sm8550 +``` +
+ + + + +## 2. Build and run with Android Studio +1. Clone QIDK repo. +2. Generate DLC using the steps mentioned above +3. Copy "snpe-release.aar" file from android folder in "Qualcomm Neural Processing SDK for AI" release from Qualcomm Developer Network into this folder: NLPSolution1-QuestionAnswering\snpe-release\ +4. Copy DLC generated in step-2 at : NLPSolution1-QuestionAnswering\QuestionAnswering\bert\src\main\assets\ +5. Copy from SNPE_ROOT\lib\android\snpe-release\jni\arm64-v8a at :NLPSolution1-QuestionAnswering\QuestionAnswering\bert\src\main\jniLibs\ + +**Note- If you're using sm8650 then please take all the files from SNPE-2.12.1 otherwise take it from SNPE-2.12.0** + +#### Open the `QuestionAnswering` directory in Android Studio and build the project +On opening the project, the Android Studio may ask you to download Android NDK which is needed for building the AI SDK C++ Native APIs. +On sucessfull completion of project sync and build process, press the play icon to install and run the app on connected device. + +* If build process fails with `libSNPE.so` duplication error, then please change its path from "jniLibs" to "cmakeLibs" as follows : `${CMAKE_CURRENT_SOURCE_DIR}/../cmakeLibs/arm64-v8a/libSNPE.so` in `QuestionAnswering/bert/src/main/cpp/CMakeList.txt` under `target_link_libraries` section and delete `libSnpe.so` from "jniLibs" directory. + +#### Manual APK Installation +If Android Studio is not able to detect the device or if device is in remote location and copy the APK to current directory: +``` +cp ./QuestionAnswering/app/build/outputs/apk/debug/app-debug.apk ./qa-app.apk +``` +``` +adb install -r -t qa-app.apk +``` + +#### Debug Tips +* After installing the application, if it is crashing, try to collect the logs from QIDK device. +* To collect logs run the below commands. + * adb logcat -c + * adb logcat > log.txt + * Now, run the app. Once, the app has crashed do Ctrl+C to terminate log collection. + * log.txt will be generated in current folder. + * Search for the keyword "crash" to analyze the error. + +* On opening the app, if Unsigned or Signed DSP runtime is not getting detected, then please search the logcat logs with keywork `dsp` for the FastRPC errors. +* DSP runtime may not get detected due to SE Linux security policy in some Android builds. Please try out following commands to set `permissive` SE Linux policy. +``` +adb disable-verity +adb reboot +adb root +adb remount +adb shell setenforce 0 +// launch the application +``` + +#### QA App Workflow +Following is the basic Question Answering Android App. +* Select any Article from list of Articles on App Home screen +* On Article selection instantiate SDK Network +* Select a Model(Alberta,Mobilebert,ElectraSmall) +* Select desired runtime from drop down (for example, DSP,CPU) +* Ask a Question and prepare input data for the model (input_ids, attention_mask, token_type_ids) +* Execute the SDK Network +* Post-process inference output and highlight Top1 answer in the Article + +

+ + + + +

+ + +## Qualcomm® Neural Processing SDK C++ APIs JNI Integration + +Please refer to SDK Native application tutorial : https://developer.qualcomm.com/sites/default/files/docs/snpe/cplus_plus_tutorial.html + +## Credits + +The pre-trained model is from HuggingFace Repository by MRM8488 (https://huggingface.co/mrm8488/electra-small-finetuned-squadv2) + +The app is forked from https://github.com/huggingface/tflite-android-transformers repository and uses the same +tokenizer with Electra-small model. + +## References + +- https://github.com/tensorflow/examples +- https://openreview.net/pdf?id=r1xMH1BtvB +- https://rajpurkar.github.io/SQuAD-explorer/explore/v2.0/dev/ +- https://github.com/huggingface/tflite-android-transformers +- https://huggingface.co/google/electra-small-discriminator +- https://huggingface.co/mrm8488/electra-small-finetuned-squadv2 +- https://developer.qualcomm.com/sites/default/files/docs/snpe/index.html +- https://developer.qualcomm.com/sites/default/files/docs/snpe/setup.html +- https://developer.qualcomm.com/sites/default/files/docs/snpe/cplus_plus_tutorial.html +- https://developer.qualcomm.com/software/qualcomm-neural-processing-sdk/learning-resources/vision-based-ai-use-cases/performance-analysis-using-benchmarking-tools + + + +###### *Qualcomm Neural Processing SDK is a product of Qualcomm Technologies, Inc. and/or its subsidiaries.* diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/1.png b/ai-solutions/android/05-QuestionAnswering/readme_assets/1.png new file mode 100644 index 0000000000000000000000000000000000000000..64baae8c4aaa9e98bcaf1cc30bb9c842e945512b GIT binary patch literal 101699 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 z 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 TVr<2E@mpqdEN7oISrY!=s<#uK literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/2.png b/ai-solutions/android/05-QuestionAnswering/readme_assets/2.png new file mode 100644 index 0000000000000000000000000000000000000000..bebb0ea11ebeaddc72602db5ed12ef705ce4804d GIT binary patch literal 288183 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 HP?Y@#9Bc(b literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/3.png b/ai-solutions/android/05-QuestionAnswering/readme_assets/3.png new file mode 100644 index 0000000000000000000000000000000000000000..6c4b0485623228a0c0fee43149d89ce446bfc9e2 GIT binary patch literal 274733 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 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/4.png b/ai-solutions/android/05-QuestionAnswering/readme_assets/4.png new file mode 100644 index 0000000000000000000000000000000000000000..3b70521e445b377ab9b246c13611da5cc2810325 GIT binary patch literal 274859 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

RU*k}|A>F=4Fr=U++E~q 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 literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/QA.gif b/ai-solutions/android/05-QuestionAnswering/readme_assets/QA.gif new file mode 100644 index 0000000000000000000000000000000000000000..f9843458966fe15e2e1d65db85932b2f6c501239 GIT binary patch literal 1062083 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

Z4FNqJ0G2Q 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

mYB=$c5|~6%x~XL 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�e*sa;C)w&A%hfQTx} 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 w)}OB`K#V_7wklAWKS--8h;Kc}qAJ*q zKg89o+k-zeq$>0|zeosgSQ>wLPE~jse?U=H09TQ1^!NReHAF6_UUL;MGWy>r$+Lb9 zG5i3H8JC9D%ZR^eI;pS3!=hgu%!|j3vJ38@n%}b@0bHneHkfGQNruH!KZ;x3M^agP z3kq0WtBakhBU7poNdnRRBVrn{NM@R3yK4PSevPo|q@72vh>4w-FCWyvVkG?te!L{msE$Suyo(_J zta1%N?P}Z^;E7Ora`;+nMT+o2bK7r5b?Ja_Q zz2^0wjHa{+$TfmWX@n1MC$_5DJdzWkLq(Mu$GIzHP_jlwjHuXBf5k3r;9gV5rG-k1 zi+evJz~)iuIaDWA{H@{clOiM;>-a{bAAa8-BhoTah*BUh_GpK%7cVdA(xM};BXd^w$N%o=U@=peI9}Uo@pAw#bO$-M?J!fPKO)l2K0IroF_tRurel9kX{RSa zbCUTWU1Y}|UL^JIpi*JPLFOF;S3*Kgbp(mK$fN2HKio9Cb|m3DF%NfE#`gDym=KRA@tR5kw+UAq-scV$T?d15Fiy3zCaDSN{YF|nVre`0wWerh#r8jAh0X!wP6 z!%v;5dHmVx$3eEKG`3_Xw-Xw6r08}-8g`zFZM%y3r2g4$Y1kv-|5Rv}vplTGN}_$B z|K|xY#a}Vk-+vGU;)6F&4oQ5Es2UFqMjA@L4m#|);fP|}Ffpk*zb%5N34!ZCh?zB! ztVyU<;)ZW(vhFQAC-^Z4GaezZjX(rO#+FF1d{}V@fx862LM14l`bXIwdVJs7^RpC% z3Q-LZK`j061tG8gHqs9e2|KVc;t&__iE)+9>_#JGKmFOb{n)mfaku`oUnOaWi4|;V zDLL|)GGq0zzMN+MbfHM45(Mr8f+|pgsuPPS8GfL3WPe|S>(-xhLPLTFiwlw9k0SyF zHd>-%c~J=V0b)_sCWAI2;o?UAEp^dV5m4=s%!%JUgBGPW#NGF{?9q}U+cCTY2=<^E zkxm3IK_8S(ud)1BQ}jdX4Int3eGN&8ME!iFezr;59OEvLR~aXYsz_@b5ieF;dG!SMco>Il zw;B$>Uo&y0jM+ApEEB;7zavtHP%J@kNrV{E1fB9>lyr_&!lWMHa76OuvC3pvu3lR4 zt2xdV^Y^o)zdv66L%m=5Im7V zECgpNtp6-&{|PrrTXhaik;H1_#08q9;M;_<*Tavu)fA19P7y%o7yFXNrz%#bii?Eu zC?dz<5k6V~H~MbmcxUA7S)}i}`hq}K?HJ56Cz0gxE6I5_dx%~e~N8{LTw11MM5P1 z8SA>79lzh5X+qwSuuvx=w#{Hg2LzknT?JW1j7%XmDH9;xU6)lWhKv@+b_4zCWMzJ z&JF9h%ivOch1?qNm_~?vh#?`B?}(zXsO#NC;Q*r;Qt{#={t-__73?kjrto48&MH1R+1G)4tK)sEv-iGz?)$cOZekVwF+gW#_SHrNuP?VUwmJ#`5oEX-oCYCxxouy8@ zNGJdu;)}*GSYtYEasS3&oVux;`3{_gs+>m+oF}SWqz_!YRypTD+|d}8Zz56>kTTuZ z!X{1}ebzR=9sP1cB#fHlFK1N6B1dYMgv}bEx7-gTIMov%Y+8{(|F;?`45F@eT`+F# zmuzac5!qC1=aG827>DHfY6zJCe@LnSQ{ZHRl z=BrGGMGD`@c!gBjjOX0T5Apfh>F@iiAV1W1Z6Jn}LAjvo)3?zKe#`!X@WAcaQtj8u zg-`#jjMuw;?k|i8JzN_~WKb!J3_sqUud*B{y749Wy^&ba+VVk#@bKq2CAP8ur^3yV z)4{vlt^B&d>o2d~N-9uk_%+Cjfrr)FnKitr$oOf+lJifeP#pw9<+H;bUyMakZ?&#{ zs7TD;BPs|OhK+lnraZ!M0?rF!AQ=IUK!lJ0K=6-%@xK=l)S|JCB}1`f|Ich|VG^M@Y8+O}mW(C;w@kpVUxt8$ zaGG+yTc|RQWzKc4-&H9mZx%%da^bfl9q0`El8K zCte6y+-jFLZhdCFXJh)g#T_%*6u6&;wuJvl?{XQSU7cZnP8Ays-0Gd39uJH)4h-Oz`$z=V z9oH${*NuTimV+@A>YWZ@lv-r3o>Cj?I65)35N{ybOxg&-Agt?y04h<{x9VhYEPK=( zr`n(j)2mGaEijiqmkzhZ@<(14Z{s;>UzxlhJ(XR=gHzoV?onCg zlj~*`f{E}!V=$m^`OSz(S6WOx z`8;=R2xVgXI)J)-{78LIF#3u5@vDg)z>(d#poXN%VBj<>%x6wfDDbn?BP}lm=?PZQ zy`x1lOP_zAtlaAVE!l?Rw<8@A+15Tj*47DGaj&{z7in$!9rD$0Ks0nUXx1n6Ti9BC z==aD&-0#q}Xq;%+dK~0Q*hW%o{ppX?S-07rr?kZ3n4lzH+;HRohhd9t7`mv_ip3Dho0Y=rq6r-yg3xR+9KKDR0;E$YDBsU9+=ENzr`JMoS!n_Z!Y8L9mNttn%u#ku(_CP8~6=|R1LIr2)~_h@VG4< zq6{#OCE0Z#QN1%t?EC0t&5$Q%*R2C)->u43yh^>3THId=XZnM*SC+WKhnFeplI#MGr7@WDPrl9)2<4~d2Vs8{(6Elo)3?+jnG?Oe>3j*JUz}|r>K$} z*ZmOi=D1+Tn^k;aSaueWe_QMhZTGSQ`kI5RMsC2{ZuC_R274W?&%uOugBPz{WVC8YPQqL-@H@n*^ zfnDrqzYQ7b3NpRG*z^o~p1c+LSW9_5rSvrCTAtF!n*sB$%HCviCQZDdt&?7QVWq}X zK9Tx>6SI(B0;{K4aeKu7W3jvGt)$E^9d;fCSnDb+XY@Zkmdh_)ee^~GS@DLh?c93r zFk>zDPTmL&eWQgQ{o zXY%zfL)c~*d@iQ)IMl9Yra!K+5O6>rYTALdZ}&P;sac0!9V~X=$bmJHY{}19kPes5 zot&XAI=(>G!ZV8z%({(V6!R*S9Kl=4A1)jr#Ys)6;>^k_mXwtF_y@pVv;`q~WUM4o z^t^}hEn*1pk^`gn>)r?k#{>^{@kaI3EVfh#dgzYtuN`cj4cNy?36^pGii2K+9WNj0 zys6_Bb0ZelaBbGShPnRvuswF#JYwFMUAUe;b{dxEcq;tY{1I6D5|cjSdG&Qn2Jl3?pBh z0Iix2^iOIO3wgml3Tg=aB7!gvg$qPCK>Y1VF0}Cvw|uvncYmQ>>vq%GwCH!sSEDbg zZ-kl0ljizZOba+Fx7}Z_{;H-qM%qSB)5s{QqxXM?$eu1~LhgC-0+!x~$1S8=#A=E~ zm5}1NTdWx`_?LJ7rTZyY@Bk-$>NEcg_uiZhYEvkSn5@=ctaw@{^&%q8BLYb*IkAjN zh%BR>M2%wqahx{X?!)(Z+o7{#%4A&8FF}q!KV`3}!<|;I@<=b<6f1j5h|UigWn}1a zaHb7x-mFRE0fWjpft)0cAv#G$l5(4Foj_6bOq;IMY^WmARn3L&FOYgCkYocKzDdVO zMwdlE&Xf_xq!Zm`sd?oF6CCqTG(qzFM^}=Iqh>TWc+?e7=?Hq_9%`K##}^u}|2m@Nb;46dfx~SXcShQ0U5TqO zc|fI^WIQCx;r_)Loyvsa9o%VRUb)#hK?r`+t%)YF#w9UKhh4ZMgmRvw!5J3pM-sGb z@n(l3H`k#`AjyFyX_GMAq1Cd1j78g07B!I)Q(^xu=|v0xiJMD)6KbuaZKkpH0`?b( zi-QPvT3@*;;1#<|!BqaE`ll#ToGRqyvZGZ~47ij`B-i6u&E+#GY)DlzX35d+R0o^{ zb^2tJfsi*kgUk~ou&Je6Q5)ZLcj=sX(IxldVl#bxGn8rQ}&vB^nQQ^G0+ZtiL~96|0xPllPL(-#9{AUo*`t zL1PF~SN(y#JJiv*L`x&Jz`J>gFNvRE7D~nXab`lfQ70 z3vpB-q5poG191cnsd{*T=mM=_bQ9Df9-(`gxydUYsaTXJ!d`2aEj};4VC;1%54^$B zI*rML>WJJ{kk)@vhT@&4dS~7j=Qq2gEK3s+)l1M;T709$yix5{hIM|&q+E4(c&7(@ z_sXjt$=v6k@<*F9(s|D(wWz=PkGRZJSK2Q zM)*IdOE-It>cjSBSihy~#R}9v&-bd@fy5tpXzgS~STOp}xT?BL*T0Ol^nt3U7iD#k z*87z8*ESW_<(JD3a%9R*Hj02S>yL>H;+IcFIe|GI?A8PoqKvR?QV1_|7ILye;W6af zN;s>(<<|?yaEKD;Ll~lmUHR$#R45GW{@jO|w#Tf>f)7T$XFM+vy?%0b0H)&Inh z>WO=At|l3vo|91&_I$*#1ox{#`>F2fg-#B+N9r3kz1^xrNfPlqm}QMpF(__`57suR zUv)`$-c-N^v&<%Yn0(0*=&IBBkS&|PCUE{8TTF6&H+AA9n|oWWaC5+DX&rPjjjXxE zCa|`MpLUChmjB%=3b`th1l=9{LD9?lbv;7^OPAQVcLgI)VxZM@YN#qE8q3}L(b~3H zhdA)Y;}bnY{x>kmT#~j+*l3DQypGMspkfW?29gMaxx577r%e?9aS6DzR&kLw8|O4V zIxpp_uBYv7_9L!iy=sQDv~W!|Ge;Qm+CV2fp~HKY8;hk4;ob!r`TKg*{QKS;xHow` zuo9|_7IMzoqRQ0A@-6C$Z5lRhT35RG2%R{h&ERXB;Z>V4OZ!n)TbxF_?7pkMS6FvE z1Pi4Y!h#RUW$hFpr&wopLj0Gu!%?5%c)i^rLX+67g8@d_U((@Q%XHw-=}7C2g?F-k zY9APE5F4`J_Upv_>J+Q!Fm!xqTifY>2a=>1lu*l(qOXHuf@RmTcwA-m8+QVmV{E%S zOkfnjiruU+G4{eeU|0`@W6$AJs*GCbxM_yo`c6C(73toE-&b|z~H#w z0Fade-83j;JXjckj=5^bp$xzxg9CmPQ&-(Fz37-Jaud{mnPumt4b&{rgaZwBR3)cU z>IcHyht>&Gz<};SGW}>Ya>V}BVTg1C443E^gaQYez;aj!J3(LZ6@>M=qkX-dpOyMY zG+KVHn-v8>myncT!GcgCI01RTABD;~VIY*Eyo3zy(C@1VuSq=&L>*#hY`27_)7`IM1%0khuI$pgFt}`a}@a|*Bj=)uk z;i{w$)(LG?oi^0hoQAup3HIO#l!z9uL*; z8NF(FHf4_;>{A)E2s!`kz0eU= z)-HA|L>4+JGYBqeBJOtpxnVn4v5;_y5B7c&@>nn$OEk1TGoU)mQ2_X<_#qGl>X(?n zp#T8Zk@q%WMQr=%)T}ORFwhp=4IN@%2c!Kam%KV_u)rAbhdH)wLjdz)e2j(!i62MRsxICgy>=9I6a|k54K+j1f`wVJv)2{CK?I*MT2Qk&w37Tf!N2{)>k=K2@tiwN|){Q-ygm}Exunc~N8iJ>9$&JnlyU>{J$ zm3jC1K49FNr4av;h}4foHXQ zDvQ9a+QD^AAix1QzXTHs4y)V;>+!&99u4CB-WPjexPR}33dfAAf>y?%;4A2I0d%Uc zhf&An#tV9z-wUvXW`_3)T<2APT|}p0rus&@6!(A!UB$iYLlHwvwteW{7=DW3T*E_# zT!XXz1o}GnApJoye+s-s`1f;YmrXALWH9DQZ|)z*^T9=j(h+7AjuP3Op|ZbkaLwKG z`?No=I%LGz`&Bpe9xEK|rbZGnRxL%Xubt^Eo@p$mFfE!NN`;b8#j{h*4Y930p z!Ern8N74H1c1xUZ$`}3{U!sY=*~(Bmg$ipQQ*9dGjzg)2qA7Rgs0h@kzDgpAaqWud zMjPr0lx)gzj3z(uiwMFUUZk^YS})k{Jtt;*#i<=fxz@+c@Y12nZwK1%l_+Mb7RRgk zeI)OgTPx^XZV&H~b#Jh33>(u(Nn3698?t&F$J|k076+}o;L zmPPB^j?vD;#BR^#mpW}0qRsl&2}Ijcdx}BCQ;*FU&9M#`JCL@fTiAissKexAb0t_| zU$LL4{geIE<&BUKYor&`Coj_mk$+UgEImRU@8h<_Set`Ty+>EhiiA3yiJVW9dMI+Sk@UfPd5R(pNO z^J<~m;{3W@BfRgiQJCODZ|G#RHh=C&Q_uao-pC8m{G1ZRc88NKb<xjH=C10+}EZtq5vob^UXAL&z6Ce6i+^IwJ#>xo(Xof4{W zI0tL92NYr4-wgz?__sQI371mi9S$@cp|3}Hj;$Em8Vgbyji4Ioi42ZPX7Ej%T2dQ~ zl%}_afxp)7d4O0!)M{)JYskSosT@1*U}F3mR575^Y15<$H$j^j8PK_+<@K@RF3n@< z4h0%v-AU3ynTjQoAZ!J*GN&D;A*F{@%zYHw= zf!&SxeRwu%c^uh;hmB=9tkXVS@@2idov;^Ij&IA@W#9V!{bYHNF_Ht$GN}BMD_D`? zqqoah)o~?Uc@gsENo{S2&7U55{T)s_z{Z7F^RMHTaiaq6r-D^kREar$k^YhXBimy( zhco*huAhAMnk@{#hMDfR~nmduF4l|mom%dd8u zZ(=d@TlK;RCZm+&8QdR5d8koIBPxReV-jipsYAP^M+p<;oVgOzfqsVS)9o5>CrJ{_ zQ#V%m$m9izW`vohxJ2LjQ;CI`a6Z5MG(fzZ@DMtbfzv_qK8J$z$T_K1qKSE^VafMh zKV}vay9j8?>pjT%m{q00D=5eWvY2~IKft)D6!}<(gIt0EmkSnF9RhJVV_y464AV$C zs@h+^q8Zb0W5DTaPFK1&&vPwv0+||K7#&J@# z#dUKua)Jnb$j7pR8w>=Y?5}To%T3)`H!8gK;Dya4CYz@aEVlOQK~BSBg;2bQzSHG{ zyrrzlyM-QxJ~gIqwva|Y>UcG;+QCT&fFy9Yx@b0Y)*Z1=?~LL-%_SR=sbZr}7S=WzW*5hR{(jyNxeqeW#xq zqk!HHKt(GI{Zdn+ruSpIUMmQBc5`~Xx2rR+;tJbQcFXIVL>I|k>klDIt;Ike{GpbI zA9I%4sx*B(&3hj%bu6_v#`}1?DB65kTIy&i9QHYSWAlxKzY{Mp^@~@u{qdumGDzT$ zO-8EcQ$XG*PKE2`>11v9&)?$0|617J0mdEVtJsl zU+zPPm;~NipDs>6xmRBpkJ;c>gZYCLYtuKGDadu{-?+b&I9kVhr7|(I^cWr7VV6Pz zqw76xwOe~K7kY*HrFCoBY%gmo1M` z9fE1(CwAW>;w^A6+;qyNdi3h!E4B-16vcsKE`Kr8Jf4+-a^rq!k#ua&i6rHm#Hex* zko+KJyheN}gR_m>lX%g`IaYATRC=gejU^ic#_MqkC;)XG8MQ~-2ZcF61K-JDMm5!m zYO0@}vzPiycH-PRj(bf6O+0EWbuLqe|1(Cu8nXYpb3H-$PuFIS*Prf%mgDrEgNFSl zz1V(XU-ZcbFWW;=( zLl2I|;fW%DCwRO>pvnSOb${QBbRPVjk{A~`p1$+h`*=ofyYBdd)ZK&QS@_1!*L!Z%9>#*>2~~f#{}1~q3gVpp{rg^->`D;bhx4B`rIZ(&S(Z;O ze&xC~Tx=DD{<+vLNff)>(SG+8wOP(^s<}s8iZP-0_kBFKLDY9p7sp+neD=ltm$nUed;QeLgLn#XaR~b zi>2@tCms4ORT@$6Mh_ZivLEnMDE_c9Cx`6>nGDTPSApL%QCc1P2f2BPF|&Sr;hY+@ zmNd++3E*eF00Eo;GN~`79QkO2vy1rGu&PXRjB(a94XKrK(m8kRU28`zyVBwEt~73% z+V`L8!Vm?U0G{nD9fst$8WR-|p#k?KaVlxe#8k&rMoDJ5JJg5-Gb0Z<%mfDzIT|JK zmj2}iaxn=rgf8*P0EPp(ej|His5Mw~M#yxvEb`pelbW5Dv*SyM6O;E0I;A z3@Zjpb!YZ><JHONm5WY0T!FUNqHLK?sd$aJ~2>#XVgTuTe! z^FMyyn&3W=OD(|5p-G9%)O}OaYB2XaZ5Z1}!{h?$;$#nZb)KFKg*_S`N3?+C-S_hn zCMR%aO`Q=bfXUp769bfKoJp5lFJVNou;Pf+fbQ>nxyEC-&&~v2=P!t-l$qcTdJSx} z+ZkIz`!vE}^8U-2M-=qiD^zo`OdVfD04V%s>ts-ef4SLUTF(j-&%y zl4bm>_ND+0kIv01s@XS#86iP$Whz|kU~+A}>?8G=M|);0QtC?T@w5>Y!g{A~XdC<9 z!edZ{rVP?lT38SEl!{H(7nd3lA_4W(9^C2)7db-#;vzX_L{6rE(QX!+MYKn|*3Pvs z9b6j?ZJQ6rePzxs;}mzeYU4|cRq+O6=xed)f3>uY!M1(Q^fp!!qW9lltY%LB&ddDm zV*kSv1^rUq&9?DGLn$tu!fvB%XjDHq{xA908R>NYwk64cS9Wo8V(ywWVum6%sDBot z0|(dR&v@Sg7h^hwk9f(HsIKYDMvuxIQ8w$Z6uw1m(u@5(CneqgN=NlNu&Vbb*fm@K z2X+4WhyclCIvU=e0^*KPy=T1nRa7m!^+6bDWDn4_AM zhN?*38rLTHvW--ZhjhJ4;G!yF$H%F~3sVX07HElQQByw3COW3}41bujW?w$fzVG8%i2u(HuJGT{K@awum-Wr!oNSC z?T7JTI>b+NUZRdYH&@Tub=avfFM4g;`sq~eK8%<-N)xx7A|~t(IP)2x|0u(pjuUk> zWMuD52&?}p;MjeC3w9K*6Ur@K^sO`97JuwqiF=AZ-0_YbDmb=ndsWYo!R7h=m$r)B z&v?nE@3*Q~((pjFigY^CKiZa=zT#0-nV12xiIqoOAGqTlewa+?QbmQVYMxEVZzk*} zE8he?Epxn+WVf0q;p4MCXrrJkkkd){WGaF0+IclnE2 zyavBdJe&f=)O%nFFY_1ktJkEI^myDtVpbpRw>OV}S$K|;b{}%DSCK;O-9klfO&z<7 z$&}~E+`n)OosZ#?K4scFX39Oe@E32Gm%rGG4#u);Ir?v#pU`DFC@;e-EbV?L zLW$gug&mjEe@!cJF6R-wiU7{ueFawsg|upSU!u@@FbJm>U6&RWRIpHi?;G%l!RDg z!H6tq)PxZ+XH2ja&4H?od{+tx^_PL-8MT70fFk*!O)mAU9}gGqZEcN1?5dSONTpFssRre zVd2L2=(V6FO~K!FP;&^k9H`o*FHA6!9w?T-ON&lsDN$YK%& zkJL|5rZ~SOx~?qwO(=vr=fai7+JY7!549>0qX~@z4uzG;Kp9t{>Uq?$D^N}6EHlYx zAuiA)U79LJn3Nn-BuMTVgB!CN;zgX2(j+v;lJ223!}mZ6DuKJ+$_!0~##4lxy2uS$)duDfq<3pF zjS+MpOwpelz7u*OPb(j}d52MmoZ(+KkcHXPeFGW1Y%fm!+Da8^7D#0~NT$hbYLrpV z`zAS_-~*k2b({bIB1jelwdD8^Aia zr>{^+CM&r{MlA)*<9q$U_sFUBogydnzeuW`nQ0Ig=SaW{3Gjk*} z{hl`M;Er;;LJH-EGjXY6dsCgu1mpT(wi%4F1QktWlG|2Qfw^pC`=o8VStZ~KI{l&= z#VpB09B0q0suc)qXqWv;lliDe;?Ki+TE@ERScSlyqU?8(Ii_VY^X05ZRRj?&0{JaM zy)7bNTSA=}e|-rO`w9b^wvynSTIC{I74ln^dRvvhwyI9K@=E^)y+yR?*hIDf6vlmG}Hs!=pusIck9zG zzkm%3Lj7@VeV)>7;N9+ihu-aozP;K$nRztHQCAmBe`iE?5E1qA6rs3kK4e~&bfb$M zs@)HzXlx?R!1no@N|D8orRkHV>yx&_fi)}?C!1ZegM`cA0rI1+k~tC*?-!r*d(!v8 z{qQG*=ioqRO!^eKcd)xFzfZs$1Aw_pQ}^Sh;_#F$u+5t50E08eq(xu`{7BZm3`?wb zcST_OQQ$Ndceo!0M}QuJWA3vK3t}M}SjClyL2mAR?xt>bhk|fb5G1mn6Agx6gR2L- z3w6haphT{bBP!@5LJ_DUdgzh`)-M5oV?hHbK+ZZL{`9`eI=E(VFbE48f&Al485|Y^K5nK~-<2pESozVOmEK@*ivD%%nPRI?1nqbEz*A?hj#{~%hcoqUD z07+kixz`DEpcDy%lZ8`+Mg@SLH>5$w;BI5E&riZaFA(?oR6oJAE&-q*zkh%LlGsOT^iNK4ebI$Wn}vU?4_e=y#!O04pEM0|aU8w)NjAvyOZJEEfq;>MJqh)vK$ zfyZEU6LGsSSR;B&A4=gvL$*x;O2LC!=x7C+I3EkPMG+6+nm|qt^L(o#{p-`|iX`Rm z>DB3vs;jb%SfT-m!Sx7=`)IH@7Sax#5bXnhP#VUAhQBs5JPRedSaK&6nAPFq+QAfh zeXj5;K<}Wdf`Z&_9c&K`FYqElLn+>04|w{`W=PDiLI=Ys7Y0;GeH`W)hX@Z3rUgqz z)RmwW2ZS;NgZ(HHRy>Af0J1xfp_@ihQ-@Ozra5lNhX_D;w5i^-K;PHRM*+%O?-D|R z_2HOQzc2kwUqt&B(ro6^_7}XuwfY^VWv&P62<{F@d@QtmpNCy(H^9ThUQ@P#euJJg z{D-~^&cUC3QJh$z7z%i~kmdzUw|P(RLsWq~SqjV|#RJ?Ik3OGMfJk2U;&~SECAnu4 z7;ONfHy9Iiz<6Ro`TszvO`sB0&<{4U3@Ak}_OrhkSjoq+;0CM+|1w1Iv5{a12Pfvc zfq>I`dz(O0tqZU5Z^Ho;sIf40Gr-n2qI?4mj9%+jy=&?--8eV|x`A9@jg*v-j6($wfsQD! zeF50K0FZh;5dD3o5lZQeDVJ2^pZCj5FBEuvrC}$zQxC{$0%`pI!CeoC zDIw2Mnk|76Nfdz{jfa=70E;36OQ}$j8S?F`PdW{o&kn%4O-oPGmT=MJtF}Zc+P?y) z!6@iNF?51E`uooV!t*bHHj#N&Y#DF^jK)J}VT{8CB&QR@R{%c08IhSG$FgWoPtLnj zM9sa#?Cyi71u^|tP@{xBdT@+DWLhP%-#N9<`5GdpK9*+;Hf0~(y#i&k+2>=e<_W%C zr1hQO`-8HPdiAqw_4)5}yOn|c4b<1XX=|w4Z*ab!772&DMCzNH?|n4QBd@#$3FU_G zU5`jV#$!?YA>81+w(YUW!Qy&EKUXnYbhVFf4RbVw@i+65miomva7fCDDY!cRo8R{# zY4Fgdx3Kmk9ekX#Ixt`ZRWtl8?~A5&>|>oDauV!skZ)^{=_>+jJFL;F9Oh}}quq`A zya&*glA)R}AY2@00mZZpHfOplCr^t{og1mm4*$@mXa8Z3PBw!6`EdTyXgnQqk;HNF zLi{2#>LP{X;vRaK$mAk__Ck`PPbY#(u=u<(>ax1{vS#42$Osm1^zW?bu(prxvA;qeUJa&SrE^f~U)|kC9o7|JSFZhSZM>d>D10>Q`lxcVXn(U5byFJC zHEeplid(yZ2S$G9xcxCJNhEc<6?My4#=J9ddoYk&Fn^03xGjX?PNHr%%y8%8w{J3V z*M~O*M@H+aNFXJPhW!++45sNF~|KB-H?qqmbY<4v7cy!X|K^B(-t%MrCK zieoa}ny{7e!J{|RZNs8_&u;PPO~BBf#f@F_P0-GR%KL@NY$>zu4{FRk)JNZ#?=KY` zm%FwxTX?HCxXcs*_soAQ)J{1rX>ct>#U*l0e(J~}Pr=EEY3mBiemNJ**3cO;JN z$9PCp5>glJv@{YZWX2BU{%#FrN?P<6SO+0KRQ!9|?=FAhzC?C^AmPQAw|h(NI0$C! zkwwVpr;cafX*Q+(CnB!H8P!Cq2cU~$`)c=%7j!H^GYMejkaKr4yTq$DFgY))3&Br1-dFXaruw{FrVvM(qD+DkzZxah(`z zb7%^gXmVDxeJtZ?zhip;?yojeBNd>GnTa-UyP2txri{6{rAxcHrG31Ng|%BnyM>MK zsEp;K&|mGA_EA7tE5}6M4lAd0O<8M~*Df8_ZpHDk4?U_XIv#p8j>_8jbpGnF@f`r( zwe=t8?X(S?)x7&C__IsrqtG?Y9I7zwY=+^d+wt$HBF}EX;O97?+`569#GU`6D+3?^ z;_abS|2wevgU2ENf4VYmZNvY&EAwuSc`{SLv;)tqs-^Pd}u@C1P$Njy33KavG1tAC`3bnN_iAu*Q3rFqdd zX8aPU7w?2n-0GsacX9sH$x?<~eltUd@7?Ar16ig8rOz8q>6zwixu^`l5Vxg*S;+3M z*A5ASTe;3T9$R_tmG8FRcz58tQhsBC+XX>O9@~$s9l}QoC4b2q(?^o@WaohI3+|LA z@zw0SO_kl-DMM)q?UrX*cR($&ht!|uTzuOiqSh7poFEd}X|0l4Q znIYo+@4$Yi(grRtQ&Y=O`e#h|5Ph=bb=Y^lReRWfeY$@*KtL*j9VBM(#txBP5%1Lh z`P>cBGM39+D0oa@5YiSGSV_6^PS$y z=lWdN_j8@!@BGgB{p**Evp+VV_w z;YYKzXY&8JfQZj|kFO5OsdKf7UFTk7Fgl zp45f9@!~OOF$GVAvzg#pqPp9-_`9=dQX1}<5ALN>2WP5cvOu+NW+~!*h0UcIY{DMP zxBCQI)v_9EcPZk_2^OGk8e)wXFFu=RYY3Ckzi6N0VKw1)h0vEm0oC=n1P9OtPUN^_ z)G!p2Ypg`$wek=XGfl_``rX}Ky~GnRNf=9)j`t2!%qTCDUt$vvnoUt9oNX`-gY+Qp zUU8yRpiY@cGWG1DqJ*1<4SG3!y#+_n5mGsIBin9szGtRHZ31|JX=f-qLSngt$U(JR~4YF#=c6{IaB66Br#70%$M(=b(<-MvY#h1csKwD3Zz`H6N)UD z9oA`F6lj`I^jnqCuwo73d14UEXrD>=q69^c9-li%FW%?jd(FFN! zevdK9CTX|RBS}?0S$v-e$;#fg5MvQ$d_3YH*W-D*U77#EE%5`=E_6^!rohkUJXcbnaEocmB_b)so%b(hh3 zkmiSds;JjqzjX(F`97AzmiN*muP+mnuvPs zLFPq#YG_|g@|jq!&LcX~IPw6j{-L^cCHA1JQvk-BrL^U8K)h<&mRpM79E`7Yc!LqH z5_h5#q_^S!sDsJqO-Sn3epy49*uAyQtnM0zJqG;v zxT6~2ACO}}*Q~{}?`}Gq z!tF;(DIEcxMYUP#R*G*{mGbw_$@|%FxKT6X;r+5Df#Q}(%;x(uNKan&O{HlK{a2$w z*GRGzHS4bzIvBj#nZI~9Pr}G{y+zV)j8?9`&Igld^-w?Ho8p(lrIyxX{CtE1dvpWc+9L~s;VPRTe(E2bKV#z@|6C*PW7uzO#F}=~f0ufGp zn|%hONaR!I6E-i96H~;~#PfD?WNimcj$|73;`;E4+X+W( zb$sb+hcwWtFvlT7(P6(SlB|Dyunvu%vezuC;Lbz!Bd5abVVlMjYgqHv!iT!5bMt~d zrV?%&cvCC4^VXgEdQC!a&s~#yrUNChc;hbD3((IbS?^V-_`A?#->LNpMdqDb?+gE3 zK);}~EF?!Sja@(0J*K$t`FjJ?vBxHU6~s7`GoqWr`uEn|K3aqdd3-myfBcCzmFq>3 zt3f4;} zd#xr5Vnx$ri|yt|s_}&`x)qy3{7I);ngx;)Boyk3|Id(?6;W4jdJJB$3bVYkN@S|& ztNA%fEd~G%LxQ!RcLclSTwBYc*7gx3qX{rwU9nbz)F?suiK1s9YGM;n&YP$ZO++(^ z%I!qeQKA~3s1%CQ(6v8)8Z+?(m={6mwv!A;NydB<79GFIBHqk9eoJ)xR*N0s>c;w` zz#KvNJ7ill+1`Te=uLKtCc7}nZtdhfqhxnJ*%O`M1taTPptgA{@S8|8oP;Uf@7F^E zEfSAesb|laykW=;{ay{<-g;T znXr_4bV>t1P>7`026+C55Tqp9hmzyel*k44eZv|&E=K|Adc z8n_!xJrIE6MJ7kXDC6|hOU%?)gGq1NQ{P6XzMDxMA50zfPMe0MeP~bnRFn4EDQ(6( ztn>bP*-Gm?a(JLzncSe_vARzo?%%_nZly9EacnR=WRN&+>{u0%LsR+Y)>Cp3JZ3akyVM!+})Aw zH25lT6yEOSr? za{WAz?zQPLKFqBhxu=$M3OPAMcNn2Vo&-lETIQK|L2?(6PNAYI8nXQt&>ALOQfx z$y~to%9ex6Y%BG(fe3hrD0f&19U}1+QOHB`m84vAq9x?ut#tTUNBVSax`DFPgQ2q3 z(K3^dWu`9W`o86x^~)_TmQTm9K6w|Mf-zuQK?NPsau-UE}{m`jV4WMLqc0ucm@Q$t&USArFL*>D!VwvbTE zyjYu;Ut9R9HXl(}I$T?lQd=TYSD{~5da8^)C?FfqK~whU;G;8r~>3 zybEs_-`4O}zu~DeFdGScymjpZ9pGV$PJ1BJZtUy8l!)1!ejV88+|iitaQf#;qlikA z*!CvKp(e4{jgkdTh(kzkC!u0Kp^gMgVCBa!vS8zu63s~E&Suru&1!#bWjdS1Oj~p= zwcv9Je+Bl&KU=UW*EemyZg%MU7WAd-76sS0bzZl6eSPQ8>o}Fx#!b)}8BpZE+FfEo zvBFo8RZ$U`Kturl5A7~phM2^EwY%2;SG((PSX6cB{SAw|DVt7x{1+?=+g+i9RL4wx ziTtSlZ?M?-?hZj5skZu~N4z}gl8%laC-RBJjv_z2TgUya!=9R}oe@!@c_Ga5l<4n< z8MsqsMh387USzh_e9f!sQ|Ol?2 zaEDo6v)~BB_Rn3NKNh%me~T50yC%OxJud$@Sd2S$EAGeAb=kMI-qx8=d!oYx*a~@{{a@SL5~)!pM?ow zG38ru5&CWNhvLlvLm`fSYkD&**IDOKyF|5rU@=M?@fR%Ss=8eK6BaXeuwFf_O)dTn zi(=0MKN{5BxV4W}JT0(Gzbb^qPYvzUzhUwF$4`xHNrSn+VNvJmT+4$kKQpTyr3jz> zYH}2|yB2Jy^Edv4#fKS)zuR3iRj$SDA8&m6+{yb5i&kOBGixeaTo<|%zWfP`Zz^u5 z$r|!{u*&tNy|Aqhp39^5->9f`K=stwz>~|;V;|^ZHPyViyNDG{$~;V6qUq#IZKH{Po%1Qjko3}anq9+1k{O?*~0AeRD%V7cFt zwb4N9_^9B~B31P>FTod)Xc8W6OJ+|}c0n>h88L_TbrKg`mnEDZnf8ZX<6EHR}?li~K>IKC}o!=(zWO>?V1a5S^3OWWjL^nKmAGKz{@5Ee&w1g11l zTH7me)4_HmD~}{Kd;p@Ihdcu75#o}z%`=}NKix&f?XT}mEHF+E3N4gQIf~ICZ^1qP zP*0}en<>3{Z%0tqlR8jiqZYd;p{Fa8n%z2yXvDjwU^UP=ToD*V_P#%dD6WqmH^8xp zzN;kp7>=$9PK30dgo9yV_Oe!B;-xf#xIJG&*NT_E{~|Z{AU?rzAD4KrDH4M5COID; z7Y(1DSf@%6HIEvy^(T8J*+fj>C^dIg-#ii5#7=DleZ)}&TZ}c2pupi%H^4llF{z~{ zTf#ZMO>%N~q8-rZ!{Xy2xkxp>txP!&wQY`_tH~45n?}5}U9*!AGN!d9Z=YEet4{J* z0zO_Q-rt>6Vd&?pqbmlt*UzXn;yW0<$)_r=PE_}BaaeB#883KNCb8q2J}g!yHEwQV zgX9Tyy=Scc)b8(!oxc*~y%*ChK9lnGBCEkOi|LUo8inKb#)mdol0v3sS$=cVxb7M| zdvA?(bZqFh#-Fb7uekLwFni=O~mG{AOg z--;2FiFS`8yswI;H5Gf3JCTAlT&JL^*C2K=e%D1@Pd8oc+z!sOlC`Kh-#1OpclqhO z@co#$v*UgVJgQp+NqoY}5gQ%u?t7BQ_+Y;g=F~Izsccyga@{0|cdt%iq_^A6NN;eK`ivx28*tm!_)Ih8iN--jOX@K-v~Y;FropIj zziX7x)Z3JJ{g&a`6H+!KiHB}IS2VlEl1q#oo!s+0FJ0P^f|T~7tclBl&nt1GBLi`i zNs8gyW3o?{XGsTc(mErr;+}N%;Jk?q_jVIamRD0u=Qa&kH5i)&H}tJn4TAi7W_+mO zXNs#fR_j05;+3C&KKPSK zFJ1hRLTrBbppDdY{!prKK;B}`pwW))^h>^Fbm2?Ay0NFFHY+yM+9I}Rm&CZbV=u&? z*&6JyFX5nBOE@OaTlisKn_N&RsN3(=Wpvv4Oql*AbQY}H__a4u(mF%7v+up3L}2on zl`rxvzf0O%DIPXeDj8W$y(qv1PI}f|GBCK&fw`RS>$uDcvnt=x9C7bP+z%#9W(LjZ za1PMyBTsyr1g=LokE6(W!~P$(H#XAeHLs_Jovjy`sF;A;NoUd?tZMIE*62$cUq_>5 zQGZb;kOtPEI+tKAJ2}zbiW3Y&OXGg-(&qA_p*BavW)z>_B;=4?UJkebH93I)bb{3>ymVsjzF}lvEpTvDQZ1B!t_sA^tu5qeXuq# zwab~X+ZK(r^wzQA$8Udn#W9-f#3Z{=Y-3DO^BjN&CU{yTczGurh)(ckCiu1|_>CqU znMs((qMSFAZ39pX9AJT-xWGe&)+CLw*bC!U}rWqT)|WhUoFCl%Htm3SwWQj$;9 zB%kD?Vrx*r0Vwy-6tZ_pQD{=RMbdR$Y7;Ewrfy1yQ%WqFdWuixYba#2Q~JDV_o8Wo z(TV9ZvV1zw&7^VAsZT;_!lhczjQkQdsh}zKO*=e~4litikI$qQVpFH1(*`Li3v@H< zO{f`cQXvmMF$iyDB?@n)g(7LMDQQAjOkn~qYvjKZgw6Bh0!;c#cjOcyafJtbWg{n< z@HGpDTuc(AgQn|&{AQ6<5*hg!gIeGx3UF!aJ`A0hjF8Y&zaAvQnOeXFI=R5-CVC_v z@y?0XE%45G%BNABfSFNXQUrw#lU0GIZ?kJxP(?3QtO|PHe?6qC(-3q1opL z;a0VY!{=Gq^LY53 zWuVEYaGZ^}*8!iw6m(hweapbHJa{VzH2m;c>W#xK|)@12%4lq7jbi@T{@F}0C!;dHf^?8Zf`boQ9!R4eU&$l1Ktfb=*F}J z*X9g(L(^KD>%r19%yg5nJQ01Amp~c#P?@XSdHusEU`T}};@~4Gvcg(vBTpDNCexNv ze+|KloRKeaEi#8%tPZtJGhvJ7t@vsp2dP)LR0zl#FsyT zvCiA0uW!Hlbo-6q=j{oV?kQyV^!Dx#hq`AvyT@Hq&T%BWK%56Y@*gd-Wwk&MDYC$V?F z`v@O2L^Kt^ZMnHIY>6zMxUglJC0wL)dUH6EC+Lt(tG&i=dM&!{ZhLdra`mp2RNqe3 zK6|S^N5eiRzdq;KKA|9K&zrtRuwT^*dJgnADo}_KcD&fI3JfHO1v|0|_r+$oVxhw1 zV|`4dW(+;TF#Y74dy%X6&ZrKYwHi3@HxL~=aItV8W)(TW8z86-?vLm{WdnUgy;y?l zR3_&k={!U|4^iii+_Q>OR_f1*9by&^<#!Dgz8NZB9b%~t=fnbY?!#5F!`TKmBW2)q zwukTZBeTrHAd82PreQZ?@3$A;ztwfW>&^X}hG4hqgI>48jCgF)cI{ug$nsGShTlAR z)Mfp^PH@UPj~ zZ{wqLOU1ukv1Qb8gg>v?z_E#c4<>3xn48n}55L;CQFz7n-zWs-g_u zDbd~S1r5R~qw@I87atL2(K;FMu4g{CZ65qUi6a=WTgsc@P^tV}d+xV~4=ZG2@@;TK;`P->**(lUGRyKM(>D@R3F9$vructz>< zU&coQL?M*>*A<&QKY%|B>=a(HEgp(d6VOL$0uohE&IBZ3uIL6*w9-NYlXZ)00#gjH z%>+`h-MZxokmjZIREs}qg3_!$&jh98)^v~3?SZhP3@5ePqZw|-vqv-Ccg|`hcpV6< z%w9WM`##6-KV7j?meZ{d8s{7#OsJyxRUaGZoQ}nRofzVSAc- z(t&&JpJ0Mf=PJBnPaHkf4Qspq?^kTbyg}0)*w#6$?fsprkK6ycV*A%evZX@iPIt>~ zjrcsEl^gNpuV5lGk;WS|9GEkDu<2z)RD;U9xf27To%KtPd#6`T9^({G{C&lCQ_(WJ zW53nt+uz1VyPs#fJwoQcWy@I4Exlx){2feuIQISa@#@3jFELLen%KFwsD{Q3F7_?2r5T^nk)cac$kmw0hv8$R;}w=S$M zaW+)OetmY=?DEYA2miTZhaYY{@tvD%{bbH$!>Qj_>~}f*(Ts(i$G((M*Lpra-hf$s z`Jz!E0LDw&ATYL=!d^Vo5OWb$V=k%BBf_FEkok!_k=l_YG?@a)+}|VhcQ8?K!{+F@ zNV2Y5DdON@FYMMevXRsuzov8UpkHxbb(n_3vT3c07_vCsYI}L1P@PU!A5>+_a=lwP&vj|3nhhscQ;a23h;h zWH8S@*WRqR&FRbi%)+kwI&tp@-SfX>)$~2n-KW>F|9f3lJ+0C(#QDCj&YZyx!{ime zFgfoQE%XP>x?R&UH2mrWbI`47Q|@2JM-HvZth&Rk!~U*XP>YjUg`SdsuNHHR2HRO> znWuD8LbW#*W}3SEAa1p+@R(?If%2w3{%mC^O{zr!{H=h>VnZ7G<{pk37RI! zB9|f1FRaJe8f0;4MvaXH9YU6zl=p;@UC!0HsZ3>+$|v75UCZ-G2+YFlaTwelGg1>b z`n33$*5H0*_`VBb--^(`5==#)p=g9eO~mdbt5c4-23V^p;FKM>Jb4WS#@=C9rd}M|JzxlD&cvZ zdw-qjMpv2oD((g%`Z&T@$QCCZm}mH7xo8pDJA-76wVo7{ z)n0LD5u5P1MR5=l2*3CBgcf306g7n_LqDt!9#MKk+4L05vN%~zYK{*gV32C)c+=;+ zbY-4cUOhVAWaqdjI2BmwIy!H<4@+W{c~x#{B0~dtRQ#LoP&Hj15c~=0I%U%|KqEoP zczj{T1ha=L;uyz6Wp!Wo=oBGB4b@+~`4V_D2U}%V$x9F7vTsT=a-eI=kCo>p6g4rQ z?DiVI_FWZ&K27bttX{zNKl~IHU7hm zZuk<@WgnejGM7)ydW9P?;U{R95#0P+ZDj87`+&i#Pc;OAKtbqc8|7mMHy(O^U2n%{ z6EY9(kF~w6*M5p7FDq52u^Hae-og-^4%EyvM>N75Rbr)HJecNh03Ja!)`%%OcbD&+ z-{ELf5$Pv$oGI=sWyEY43c(<5zu^k{lE-&b4|KECO7d)|p>s8~Ow%ezbU z?r%k1-{vK&Z|=g3@V6Yw%Ofd|Uhgi~adOFYM+ODwv=4y+**CwhOMa+s6)0zTcC{w9T43-f6bp0@_M5Q2wfuyKmQoGxBJyx&GDcUibqvl zUf$TG#2C}6!F*hQ^W(GX)khP-O!-E4qW!+hl6qasv)yRBTgSPNERRkoszy7kmsL&P z{gS0{Vnc*+OIQ5C)rnh@wGsl~4$i{l%7m2iNuv|};bY3^Ud7RC4!I-BG)1%X>YELl zOg1r|`-SemDsgVVfi{p{d9cSFS%5n*!oi!}^OQ`82+}?veb2LvjX11*DgT_olKt@! zFLy`}Qm_leKHraSgVzahF4rT6;L(kPi&`99FX^KvNgA++|AP3WKPS}%0~OCb(z6pIWTZx0iIMWV z34C;ynQRX>5h98T5WIIQ7~gHyLy@o{{KzsCeSR3_k(lUY_<=<{WiGSSwD;ySc>x5K zH3)tOJ?Su|8!DVq$wA&YF%9O|0z#kRej3NJ-LN>M9#6rTt1F|@u=TE7KtD4I4* zp*AQ%i z@B!yVU^(un1Rqo-J>7C@9UKRxK0AYLH~=D3B)|a}Cvb|sKLlUU<_^waij5RtIzthXM8x1wf)MxxcvhQ8 zsTZtt9#fb%ls+y}B;kRyA7hF8f~|xS0n2L&hs%tKd+z%3l)HH0S^da7j!zqCzOg}K&b`#IibgI9xpjVFSrB3R6imU z*rlVmeNHRDIfC>;WHAx9@0>e$f>#g{SsVpQ3qZ-4NU2~RDu`Fm3olZ1@ne9Mg+9o-0ODbL)Ubx0$^s7m1N&+Z2k=SCPo_)$*p^MuD?H#* zCwZv?vIy9k*EFOEoqo+`$3Uf@sKQ98@f08{uQ_Ho>!PycvAV`7kRg4s;v5e6>h73MOv~%O3ltm-5CQ$K_HnEXjWM!0Bh7PNiBd8R|yB(^6XxW%tSkK9OkYC|)sB)JwK)ogWvx2(ZxIQsiRvwd&dktTB1vf<$FRlPW zt>Ly55bj;vReRHDi{yu~#t=H3Fodl7lzuDaRx79R%dzS;7(75^-;6sf2!H(tVqbe+ z)eH_E#6#FhTszgt9N+*?E=pBhst6Y58VXehT$)3`V2NbkaZoY=2ae+<1DaaS3occJ zfSm&!aAMPKBSh>BqUK!~bF(k({ix(F>a{bAz1s0UDNg#qu(WwBbWd&eOAb641QIZJf;sH3$n^_! zSPaH%U3~^PUe>&=8D^QSTAxXXyle4>t>ss+u}~T8YChsYEMO!0^^3rmzD->XqJaf6 zstS$nh&t*u!$U=o(xUc7pcU*fT$Mk|L$K&&ul4)kPk=5g)WAx?Z5W=_)FSJuy}*N? zz#N4MqxeEnm@rU-3$xV8hB zIai}*gIoK7sK@6q=*SyNGQ?zhnN@Sen|tLE!bNG zRrv6YADF-L@LhdRJxg-OEb^8V>isS4qc)H_dimgY@hluXOrP}CulU#S5v&88!FufA zTd^8Z@l%SkX2=nJ`&dGnBe3E~7IB~r9N2D-)cO%{#|ZLaM1AB4x@bgzxf4amsyVi< z+YPkGKc=vQ16W6)t`O>QuyAQsAWXFId8J#P8kHY@YIgbQmZGN?x1Vl%`_$^!)1B*| z;T}Fc(4R7F4}~zGA@v5bt;iTBF#pYyMgl_8#SdchJm0W*B5%a+?einQo(rF&3f%GH z=;0Sfc7q@2FT!uXs5#di6|v6PO?K~Lurm_;<&4gW0AF`TpyFW(?3XKL)UMH;jk*R2 zJ4QqHQGb+;Qs(888l2PLj%Mt@Fm{Z+_8hC}9nF#6&OBjJbV6TL^nVsg_x1?;Bn1*#nA@D6`PcdY?Qub;nE9{uf$k*D>_zBg zs>O7TSG3BE>309U zJ}8Qwt_|7GpPLotHj?@?Eb@V4d;eM=%vZw8%W2&f>1mf8|5_g$EZkyS_h)WX#VE^h z(Wy4S82+)Y{>Jb1!99Wgr{C*?e-%nDR@WJdefnp8@I)&j<^J#W0msq6sHJ9S!sE8l z1KSQ?fBN5bK{Gqerf$u(Tx~c%_OY)a#;)r3`k>Bof%0?uuk}GB@mHcZj}6;cFVqEv z95l+3-u0(0=)s%cg_8fK3(AdXNnI$5Z7GAsjeZ%%4%BlhfRR}GL#c5;`lHPueNpz- znqQ+hTQ}Ob+U(kzb@q``&*ayq?kaNUZ1!k+nLpp_DxLoPP|#&_8~>mN^OwF!>$i*^ zExy@((Bz?2-=7Z<~ z{+FpgbwN@G*L45V1y$spT=~0DLOplF&M4?A=lvvc^WM&HSIi!n^sG(@*9U@$5{vc^ zdt`RrhHkJT-c)>7Z!v80Sb5%TeA23Ea988%SC7Mu`WCMQYw0|=WYjM^K6#-tX6k~R zn;oz4vHQx$%mr85Pnu`r9Opj?M%E69+8`7(y2+6Qb+u4`BVmJIING{=hrYqCRT1XD zS_X7soK(&*$cyqvFHcO0*`4Q#icO=`>tS~x>v|Jpm9;?6n*Lu1SXUe*2nu*P3HD4- zf6kvulvMY}2sCWyhxwdD)K@O_GE9ubyOy-`tAkh(Ow8XMzyP^M~{ z+DLfipLXx{pCT!$^4M})MM)NG;xZVF*v6kToo)|G346Y(*_D;<*t4PmH{tc8)|#nW z1h#l5+8^OahjJ^~3}+qzyts96HwmLGQQL1V7LbfTS_brh)liJ-P8EWPYyf)_W`PlO z;bqn1s@=4q*POe3M=|KMsS0&np_#6AT(Q-yM>9bY2E;y9Y~zW*a57Q`!V!fjM{8re zsMzrvL?pDH0-hH|7&v*P?SFvbeW54EO_fP>9}hIr_N6K}dB6gv-a73QwpvEnin7v2 zrQ^nlo@(}aI<#WBBQ{CCs!ik$`plZv3U&R|1o0h2LNR(oa?=aORZWbO*w`%6m7Q7A z!`-NeR;HLZEne9zA!^e1@>yI3Mlo;|qa|kA9i*F8S`d2In2fovEetWb2PFXAAur2& z9*7)1RFMKoxzmWXKh{+^V0tKE7UE7-V2)8`Ynq!195^WOmVM@4faeA z@p8+e6zu(!_->_px!-+f@n801CdM4HMsn$HdFP5`)X6d+_!qM1+qcek934 z%26R!<}O}W<9g2wUTkvg?nv6>*4}fan1o$V{hwqi#%RO#-oXs4UnP|YL~O9<)f4c% zvJ1{L)f?h$e80>$#q=(>mA z=1(k|f2;Z3!nsmP+9sLJoSbx6@2U4Hj%QnTU^+oVw}&b)b{C{g_Vt(;jyzOTkbNX| zQd0}9Jf3??mLM0#HNn;&AVu&M*Xzt$KNIm%!A-1#43#gO=b_{u*kpDO;*H!(#Y|t6 zN$*=dEM0LBoYH~BK7>fvcn;gx32c$RFvE*)EZVU7>at2KPS;(=k(3{Kinf*%~A+^oB(TdU;HYV>=GOFBztCnRH!*2dvL?E zb)Et7^rb7VjTW{Sbl;W*ouMDI9)#aMGJgIu=iZU(Da?i|bU*ShgQ{YmUutsJA8fQ} zm-cd=|59VD-?f+LeStE5bC;^_fv!*I&c;ruTRRQs`hCoSwl3H2;wKks^12zTQyWmr z_k)VRikMxV`ZTz#dV#!t$FqxRH7{>{ivH}-+Iai(g~u4rUw75`(E|$t^;J9h68>H5 z?k|~-V<)$6Sbmhg^K12;*x7?6E06DVf4~0t^6Wsr+V{`_flZ%(!THw7FxS^9I|tKM z$J4ccb%iA@+I7k-R1X`@%u-MXvBg;ATw7R@gd(uFP%=Iq_&gh{j`iA;7S)k8Yax576JPy;g5j*rF#TCvJXX);4Zbu zMO=EN9AFzw1ly8CU$Ln!Lhb?qsb*qmQ))jR zc?~4{3!KQ`SrRW2Kx;Na*wt9Tr3qckPoGKJlkGn9QKR_7_B^04(h1TmJ_81<&>{D{ z)2ul_8-|uub!-N^dkRAnG-bPrWLjf$dfOpIp>|K@B*XGxX9<8k4ms77o$Q|G#Y3#{ zfrw;amd_)ij$hsl!8Yy+blDQ;_GR%`RhG!xf#84dMA{Q}6N$PJ( z;y3xgJ<_sXNKRp>d)-M{2hvvfs1PNf)g9*H16qq@I1Z&(`Q!*&6IpD;Q?1ykNV!?Vn1p>VXEBP?YE|>sxV`w{^ zz{g|BA(*VETGS3WJmz;F2f9K*Y39R65&>JmG7XC;_g)6Nu|<71)A#9KAt%7{Z`BqK z*V>O~ln@eMh9X;7&`X4pMHZCHL51-u5Kb&dy(=@zsH`S&jc0||YRCe2*mj)63YR5e zgPhV$p2tD9yUm^yv#AY&#p?Yq1+*gOo}Df;q|WVN8p! zsC6CUVoEtpW68;!tM%S-N}K2 zF%ZOSnaDx8A82WzMLc-42_~AE=q@kJpb$3k*%)N8Pg67u_1pns%gJn)fsLF`He_6a zHixNnkYDFPvIvQ1_1C6jow`xvuTn zG92B~sh_=X5mCcyfsdQbvD!W~wejc#XnS#HDcxEHhI0Y!RMyptAaX=1B}!3W!JA*{ zsMD`EWI64KLn@N`=a=7uC62*=lSUIZyv`3@c; z!WF*6P1PGzQP7Q@#{kyHVKf{_XSL+=<7_>U#|wN;9E$5F3JVShq0?pp8|znki$;*h zW4p6Bz#q&l6HwHLmpOA=+b`H84H{hOhr)%`jxGXYme+O%dL@Y@Usw|!f{Bo@f%@XX zD%Y!-H(}jU=G_yAx~DF6PZ#_ylze>MJ@>Qwb3wPj9r5+ho$rSb<145WJk&YP&G6IB zFowjW1DK?h?U@IM6|xasY^gVFV3iH3_Q+cG$ocInU?cPHA(gv&L@I87l7nR)S{L>S zyxs>}_6Fv7M4I5FxLoMq<>N*uSz7ake#I`W)m1#y6I)VPjKx;qHCIYQUy=xu_ zb9!*erK``)ZR5=k8r$CVd0O>*`SqvE_Dlb-9gP3q#vz+k%m^-RA6@>p4#s~l2?$vp zzrjkx4PDOd{Zsvmo*utPhwn^tvpg-T^HtyO3a7ttda&4)8on&+Bt#2Pk8;?JJbh-1#XYL)U z0JZl@*YcN{$5;10zHh?MHg|uND5nr^k=u?g-XI);8h^5Fiv!gsIgCS>AXC zA1~#yQD_pFPJH~^BryKpSpF}QfCfdt-6wQ^Pb~%dnm%%p-?8ac=z-L2-)A&!jn^z* zB-sA@IK-2_=l3{7*T(t1r~Q%t!Sa?_*})&Pj^#)E(H~T>W&HOzL}(Havb?2o{>7@k z5FyK_Fbhd#S$l&Mbi$vPq+Dzb7McVQisc!>_FXWWQ{$Z^gVDYIg0tb?D3R=^|R) zeMA4+g(i)Gh^5om%#Vu?t;F-MpSAvBcs9uVhszhvQORGkkDRv73t7HE_1m*c+wPnF z^XlfqrYD6*=D($H{^|R5^v`ifBeAIVb;Q8sptM0XqnnJ#gZkg!#!?00=icqgdHZS1 z{qphXPJ(#x&5BDKf3y6qBhMx>4z5)^&pISj|6Z)7ET$(dWG&N_&YawKsNCQcf42Un zJ-^}n&EF=0*Vz}#uD;xv&+Y2I_H#k|?UB&WY{k6{9!W#E5a}LJ{`o~A5cu^KZm{>4 zU)RE`)o*V$AH7`Ccj0f7K;OGhN^8qPlYmhDyA}EUL%YH5xYdkP?>;W^f4p0;iV$V( zfy`KAJ7yyPR{u(F`^zM-(W&RpaYzNXwdI1rFL^L}_WskAoldsTvzubo{Nx3D+H=8) zFtQ=7R4OD|Tk%Qc@hz?Eq)rXqRa@aD;mB@)V1t-;Uuj=t*I21DNhURlD^ApE-es1y zNY!7P*l^HHNp9;zS(Nuk%AIl6-ZBO*l{-n@uet|uN|v@M5R&R+D7WsWg^YzGLhUTs z3CkJX=)bCo_BM1!{q(usCbR+*qGf)xxp zg{%>83e{7M&%m!H?SKu@LwSoE&Y_*un!JK$9CASPDXL;@wYH9dsMwYa zsHiB+Y#C|LYQvzIQA|CO-EyRaRi`PONsqUK!%A;@=GP!8v5o-;TQOO}YJ&6@233a7 zNay0;+s^S(#;jh&dhE1`6;H6okaRjjtTw?I{w3Zz+>=hFm2b#hezg0*(uNPJ!Nxc` z)i)ZSe$Z`FKE{-OXl)|v`CO&7=JM{)Ba8BKLw(kPA_$bB94)yN~& z*xKtYSfn_Sr{Xk`qu4ikbe#Qn;g`576Q)a&!I!6sMqH8gkg|lhIb4%wO^>y%4FtvM z5$?b5n%QuPeuA@0rD6eIIw(p~l2;-kf;&6+fstn+{%>sL z<9NybXj1O|)&4#5qDLHr7w-JGVakS!sB14YB$RH~f;lTFJ9jaf=fi}<;;|m`u}e9y zH3#Gw8QO+9lFSL=&L)EADhd_v5kxMSoMF5;%w=^V1F|;A1SI=Ig5X42`ObKT*a4@W zu7gsEM>8>F%6!{AHLi%?RW$tb0mi-85mV9YY#+x#wjc*YY!t%P@z&wys2ys-@+K}x z6^?fWC3i-NF+bXot7qDKvql|srg?u@8*d&~L-(N1G?Q0>K4v1mNj^8v+24MA$mWrQ z^l11q>KS%TQr{{0`8l5>;Ig7HG*d$k@3Yu0(2=BgnoyQ^w?ewU; z_g_P^6^9U6YG*O~+v@CY)hB2QG^;NBN;sh2L)jZ>+Wc-RVOMjFzsb+jik3nLvTEl( zM?d~LmvbL7;}(UApZp9#d#`~=hZ{1!SyF3lK+&*gpP%H5{+|yFEd-0=(`yq?esrJh z_Lq?~RQRf>$=m1%yP72K<|AGMHFB5+Iw=MV|$H*&R3+E6FX17 zL=gEMm)3lYd{#;BetlDwxEuM@87?}C6RvEsjkJ5Nw_N$QUhFRX>l?Pc;scydCYws1 z$$9t6Zg1${lu1bOmD`pI10)shagi57&bCy*?0Y3vlb!swNm%_+n_KQN9H$jq7FF42 z%2x`w(h?{oIWRG*;<-6>&2yXq(Yk&4w3NSJv|^H0FxJ>`EXZ9WLv_cLm*vWFBG>dR zc>0)`;0ou|ww#Q-!3yik>KC(4EiL^Y-roDG>Ag?)hBQ(j`Gz7zO6XOZN>e0Y=%4`$ z#RlS5u!5jeB?&F`1Q0@#-itv{=>$Xxh*DHUMFlK?hz3vyHBa`v=bm$B&RMh8`Q`Z! z2#XcopR2sClnxGFryDio(~!r5cYKKqn9^3eot~*NxA0Ob$vL72obf2c*ur4o?aPg< z>fl)waW~ce;PMf(hlF+|i)_($Ml6m*p+3QSKz0 zsYpW=n}+)~mcLDm;OemED6Y@n5r*pD7=nh5t#7pTKO_Na^x?{AqDhRadyKPPjGJ$a z3nS)abIfUY4F825LdFQZLUV?9UNG6m9Y%|#8SWm5YNKF!(qhFyn5!B)g1JgRaIsmR z)de2M!pLaPr6_oS#R3y-N~4+p5E~lRh{vJQe8GG1(XI424>Dnf22iQscq**=6=s=( zuqT2`*&v;VI~Q1Sr@b*0DzJ|PHW`NSUpKsA-6v^6X>8DE2vwmwQPnbDY${RL01bI1 zaZezLZ~pHCAohSzSfS7o3D2M0+{*+R6ry{iuxu&5Vvx*#>3Se80dSZFOfel!2ArG%QkH38OCo|Zj(Vbx860$KFYM7#*Z-3VMG&nvO?juo3Bd0XjZ9Z!!(Mh^WK?3zMik9Dv}<4R{1m6ahBy z1_>hC8JPr965qnl!x76SPlLKqc>;Jc3#r>5>y~i^ghecP(Htd&15E*4`}j;eO0x=> z(#PPq;d)8UV-z$ZSK<^QFCPkN+P(%_d(K+0ZOnk2NR09_f6nquZo z6@q@TK(oVX;BLWjJWAaITuVZCn1W_mNc&;*`=$1QN_ zd|gD7gLY&I@}HY$IOxyfXju|ElnI)}L$0-4xo(5j8b<4Q0kQy^u!1S$Kz?~S$@8D8 zBoTQ$8ihrl!R8}IQY`UcOA_pfKhm`&XWBYfi0=Qs96Cnxw-PAIzH#|S^A%Hm^Mr_s zc$#@ND|=P|B$DHAk|4sP!3${q3#8(+s(cLw-N%Fw3QGc^Dc~uTz#8T-j*55`ut4-r zw$IYkx*+Vp7c%@IBkqXrH$}`GWm)`MR5m|7;PzIc77&>V$q54>&UkP-aHl#O;#UpQ zqa`C|PWU90fa(5%-*5g^T{0qIXXt<#p@Hm47;Ro*NguKN7xT&#uIT(b^jYhGaX`3_ z1tKsCU?Zj0nw8amFpUseOVyR~uQw}HilE;7J_bK@A+j)8Qdtcwv)~DMAc0xaVg|Gi zSZggJuUrHN;7}DLA!nx0SEBIOVU#ZpvqnQ{4}RUz6_0_rF}dM4ZdUTaAp zF`Hj)3G*wX@M9PNd}H=MsVmwGa*w27GU%ijU+fI1sfI_Ckuvj(Z~%+ef2hkC)j zB2Txqfcf*fJW{cZNe!sG;OC7q4h}UaG92s;m$?LoG&G#dIJhtlx#N#~LJ|riqIt|( zUs}BVFi4wN=id@Q)2dt`!j*ZGCq(w~5!ID}`XF*P!tndem(gf#mS7&S9ApVq24Hux zA<8uP4+e-Yjl@q1LSLiL>w~iWs~`rByy3cExHEie>$ViUQXd43X;NQ9hXPJ87w|rP zkmx(Kqdo|>k?nCJThd~J&1#LxHvTdSfT_*yAjwR1=Dg?bJv_A^5^ z+g;2k13_``Y8Fgc5I};kBK*M4+(9bZ8!Ehlxu=f-p9D4&WfqvM%hK0)`y`jO0m~CW zm^4D=WRF@zk49dPR(p@mM33%fkKPa9JIZk%IZ8dC1!MrrB|*U>FwHC=mnNCbI@#*x zTCmz}*3ha;W`W2IP!WUmkz@xz*H1zdo`eQJ6z~U0|A>s(tuHL(7ghGX#27$dW2OtL9o7jW3W&Hons4`_tnQJRC%-_VFK zN%?e_<9v@_*qQ2+w(j+BXax95RjCD+_J0rt|MvK2?nbQqtHah8F9k4+P|>E?`UDW1dooOK&b zvL4xl&DH3MJAadhEvL>%<%9Q8yN7kL2Z~b9@3pz#*wiu$Zg|;hnf2*3O^?UzX~*|E zito1`I;ax<8|=+<{UaAjqv#D7@3C4EA`2Y&)=nU^*I;woz^|z{i$i)h^m&du+W_os zOCObcTNoTXe?@#LL3X*83Fcb}5zaAaeC7>nvgla;XIr&NRuEKYNZLwSsk zf%RgM1oStq{0JM9ult~_pzfe)Lx()V|Bp_AmL;R{r}n(VTrJVfW`gzEdnaZ zc5p!elGNOzcd?tSvdwP}xPSeYVgSO7r-9>yPw8F+dLlK3MVEb^NZzIk5!PLC)JbLT z^^rkm$YF`e9ZVMX@O00*IzR?&b3o`g21Ubq9lP%-oqdVb;V5hg!<2Lc zJH-i6g_J#$dPgU12lHuQ99KoJiIW)n@sEN=%oJYD6x)wfNf1~4j$D?sf|~u7G-c-z zZW&N+*l^O@CVMv37%#mdriF*v<_^}lqcnNL;&jC(?{8Plx}2NH*&R{UqLx5X^)^V{ z8*Zb5*9YATyCFudtker3M*(-ql0E`4*OeEY+rHl~em?&}!pIVv1mlpB3VSUy=yBh& zQ;YQAHsZPJBNiXU0|{IqJ>3eY3M8RoVxBsAJmA?dXH!l2ddG@>|a}$loEr) z$Ruf;o!Qkb`S#SkLs1RKW>sBk9*a>ep0!P??CvS(BI4vm*TL4bvoXtCPc*L#$GYVW zgKI0Tktu5lW(*UWV0kT}7wZKO8NBkz&oP*i&D7m?iUXhsvR<#w1$e^G^gXwpsKHO5 z;!`GtL$+g1ogt4#PMAV7xrKX`xlyh+{R@N#1=WuTBqYH0K)s1g_{+mjp4V{{PI9e< zH4F&2^l8aD)ulh18Z@QE`UcqM$9$325o;SGQF1@-Nq|iwVyc~p+Gq>Xq z-2CMO#iwBkMPiF@-D4s562QFL@~4jzoo^{eCr=zP>9zjoPkk1lHF_I9>zbln!TLN6 zF@-${fVQN#@Ar}ZG(2LS_WQj_YWQJWpI4UKglfl*@9dY7!&s}wyYKJ(euQT>-go=Y zck}!os=^y@@4Z-Qa=W!~Rj=*+NGG5bvo(Lc!tBG76q@~05qSxy-p83k+~%F9f5kis zo1UuYK3$eujEijl^5jJzS^Si8R>9z}_NE&Wb9Dig0}(L<%=%~||0lngX8zGTjMKFJ zhiMEC1#1Eql{EkGsDh|hQ>BtjmdXNvoJWanvMR0AyRY4|?0im}c09*LhxT#eLTJxt z%67as+^>#FyES$pQhAp8owq8K_UW#Ux8ajV^ITqlFlF|r@&eq}l5L4SsuH~er3e2l zGtsWsO;2(e7EXijsC3^+=G?x(9|p1&4=Ow@t(f{-1NhT? zdWDh7ZBAVsPhFo)-Q=c%q-hWYZPi`IP*oCvkf|J|q1R}@e-Z{m=~CJBI&MnJv~CBR zer1V{Gfh)L>{fb z+^ft{GN|4wF-+utq;CJ6dp&$01Zd`Tb;tf6GnuhipV*pE{!MIsp{q1zSFg-uB1Ww>n%`G` z$YsRpW`4mOF!+z$>*o|cNUh|y_O=Eeq&6+V?<@a9-TwO~-Vu5(1KDl&zvo^9ocqh} zc>QnGZ4VmbMB3c9Jg4b{pR{{qZ+Q4SBbww4F1StJvW>cJbfTZS~k| zEJ&7_fA>GRSL624?t|s?oL=$2soN34s(Wg2U1#Z(+K}T?|G#E3^?Gyy z?`SWZd>%CE%3gl4e>LL#^8?GM-zf)${^=_>k*sGJOQXcUZ{nlRa=yJh)|Ggp(^G ze&c7m`q4H*m+^V^yhp*}!Y04PBZp1@-H^9JAb>a>D(^L^XTs_d z=TanY2y`O?>8N97Bcernym0$z(PEu?qOo4yT&>Y3+vG`w7MhiC1Ubs<%UMKz?-?W> zfUjqdN)k9M)dJ)GGuu6)I4MDq8Gc=q2*P%ASeWfa{>&LpR68O@D}P2%QN@zfPW-BF z%6u{NT1kkO_eF1(#*4r7O;PF!esUANmbjmU&v-yo)uMP?1Ft5<`h{U|DnB81vK#CM zpVG4-+AV9G%W&O{lR2=Mc(R=p+NDC3yu}XyZx-*c=S(Y~X+}v1yoB-Wy7i`|tuT|r zxVBQbJSr{Pvr zVcQCst1&B$W_MwoMCm+Em7Xgz@r-*q?rhL$g;i66;}=E#M}}(FauN?d{7u!Q&SP_P zqOUp#Mi=--IV}vJ&g_wh(yWZp>kU%5b^cmu7aT02+Uk})8gSbR{uKUg)$y3W7sRFZ zi7alem%<}r(=GGulrc;3rnF=5Yg;&#+}3x$c9G+cHeD9+tz=7GzJY%6c+Rb(s$25@ zpRDe}56ACm88@L{UzUklF>V>SsDd(Z6L zuTkaBti@A&v{w^Ow7_I4CSN@|?;Ba-P^pT>Y2d}lq@stAIfLgpcc!D9(!_05F4_BR zK2weMzQ4L#Rr@S6@$2YN%log^D&IHaW!#Oj#!l|ikm9DArA&&o_-ciq(!e4w#xwco zdGXAIgfoT3otoSl%_EbpN3N|(o*`XD9w2R(Y-TWM4IgFE7>xw)o z9p253KA&&<+=NnG|Kgdon!Dvy2bKG{La9YdljDz7zhS9=ZN;f_F5veb82TXma|&zG zJ+V>tnsiC{>FTR1tQqpO7&2~NIj|vqqw4pqP9_2MLf_)dIZFJOiSNn?QDH}^Me04C zz!SM=)XstXwA(qSzF1w2rEMCRgfnDIpQKX(F#3k#kIC^NOwV%kre3%`K?(J%`Tdr} zDMfpQb@oODXWwnvbm-I?kD>dE5|pcG-@ESO1jAhZ>?^OC9+vWgy!XL->H;`0JaHiS zY>KZzq{$nNmaomhon7~SN%rAdc=f^E;O!5$joFi1hqzC>7CCXo19J0d(VMu5>8!2- z!G(^s{Ws;Q1#cq0S^ruaymoiF#G>QP!F%hkOFsTCQtz1W`sh+J`^;hw^7JqN;*Ad* z^7P@B(mo4PMaV%~Bvadk(S4dy>yG6{L1#i9gEx9doNayFZ==E_-*KTg# z;oGjEX9&;ry6i^}H!aujwm7L4BVW$!TA8PQ`|WmWdvz$1+t$SkT#8gsBFX=kJ4%2L zq+Jn^{Aayns|0UZ*d6uX*GsHpA$k}0Fak>YQvc?@m<9}6!4WQLN9~xD7_`K;Gf=st zFaX>od&4==u|YL!xBk0B_fk$Vlx#29x0$KbU@3M%@?liP&$1gicOf}EZd@~EFN!V~Vcvqhou3%)EmMT;S9S1t4LGr;FXamUKCJxNVpg^nZ6)U` zpn7V=asYdE2ZR4>Gthy);}% zmi6}?H9_nByFX-!zRaH+uhPOTSzu@<4f{0`|2;RZ6Q$GGw`=I%bL0O4(&B~87r^SM zD?vj91^#-;KiXo=zWYy(*gkK95O?X1zCvy`;@|8!u{F$&_LWOxBUJo>kz*%Ru8;CA zb1>sFiu%SM+T=)&#$i*uQ>?d86=KhBm^lgmUc#Qq>W{uAVjvj4eCjt0O1Mo2iE<{N zTS(zD1l}WATZj8j=kB6`;lQmVQ*@pz8GNMVDgeT6E}MPydMRT9YJb0V_?^-Prr1I0*+_03hMfU#4;q8KY2?4WYT8#Uf@RM=6qEES zAVS>tO|dN?I-J#6&?*0Bt3Eh^wROpn1kt5+wmcaM3KV05R7iWt;)P^TsQfZe{0Q<< z5Du$4IlQCr!SgE!MQILoY!)j#D_yVCc?AAfXB_Q$KU?$^(k+ zOq$DwpC=na^r;(PU3PJ~otQ z#u{@&0IXCm9cB=>m&laA5iyCAatDj^$jL2&L@<{V_ceM489?@C$ZO&cXmodLZ%4_C zzMlY#d!;DKrHRVOOk1i5pu+YGT$+4_j};f_cO3nE=^$Qdsa37yb$_z(5Ghw#c8zdv z>mbZg2c@_^^&o<4g)1$zor!K1FiLtMxW5%AaR2vY_ZpWNUYG&$yE#k}h`;j4!#j-Y8 zVknM?mAlXWPa271uLM)0VwK}z2Jek^ISw(5&k&3qeqT!V?q0=Gfz_y}G_AP9@kd|m z{KOT2$*v{u4RW%P;yzWiYHksEr3*IpI=Em548AnLM(kw2QiM+96fW0OK;C^aV=S0{ z2ov?m?%nQkzZWyvp9SDdo1ie7W!*>*4k}Wz*ZjMH(6EmrXc4mC^#ToES`}`*JZCw( zB4R7cx>fb#ow3Yn(sQi9rLpGjOYZdJD(7+0DdQ}clm7jiiw4oZ-KX7m`zy5a=B@}z zg*@GT4sbtVXenp^J`WZlYTQZq0m;O6hi!X<>P}h3!2}hA9=nf6;>Ioug^)~TGcau3 zI{5zHyXQ0w*~+3XAm_#5JI_xc3R@=?4g_>Bqd`ZH4v4^|lz$3|&xq0Ejgnt(^=(3| znmkxj)X2vI0Z>ZsfHPK6)Q&U(mqZ@TJcRoSy(nesJ7u`z&IOdol|!kk-c;F1P~EYf z^I~3)#$Sy(I;o*mWu!l^UmlXWZ9e8JOy6BFFGM`HhvWC5qT^{BIo&Q|8)#__> zXBU$V5LN$3pPZ}yi$ztB`H-rihL9st8-Vn}rbx4QZkIiHmyM`5j1!#U3K2pcv z_*VKU&s!c(e@r_)dgQYE+>lsVZl2sbb9AQ82th)+*w$!XV7F%!EjH-u)5i%1Bi8)1 z!;$BAo&BCrcx4>vy$597NAqe+zFH8Q)9B{fktm+4)F+<{;tc+XaoYJ_^;>RppYzY_ zxf>I+haR=QdH(Ze+r|g6{ypt8byvdPZ+zsQ7uK;;1zgv19RzrfSl~k(^3L{2xJ7f1 z*b7d~zV;~~vbk6J&|>_F_Gzh^V6&y?0Wr+apLvXW;IXYLRzx7RS?{5`%D^nqCkHt5a->L*f=TUw_DMaiB%=`oHs6w0N z{Z%sz)No$8TEc-g~}oA01YiTo`d`4yHe@;WxSe7?ipJ!E~T3?J>I5jW3+ z6Ev`fsezlHksii&NHx`%@>EFHf#5U?eCnSaq#hi>gnEEw0D4oQC0e~il7Sdff(9Rh zc^d0Kq6|_a3yT#@+0o`aB(~fBRZvR zA40**5N^_WIJmyCW6sET8-4pUI7*{)6Gp$)SOIJUp|6BQq44m^;alf~!eCRF=c^dB z3FuWYsmfJc2uq&40AQ&Y6AmVpDAaEpZXJiAJPK;OfHA^BUA>^Z$zV_s=(oCP{UTD5 zeZ#u%hV|5KFLnLh@Y^OKfC&jRqYttsBkc<@HX*@Peej};AP^a&H5{cfB?GvJ-~`YV zAy6!itPzLtQwp)D)H=?Ml&4^JR7Us)!<4-!%7q|54kg7_T$$zEu?qE^3G%D}y$(>V z$3lH)uq9bqE0cl*9Di6=b%hx1h9eVrQzVBzQiE~4`uMG~;9y^4jFWNH$|U9o5GvCg zVk+i9%evtdj0T$H3Bf_ADa^p4qz^mczDZ(}dt&?4?T3uS)@FW>J+YIU$dXFxF-ZbN zCHC@xw2Y*I<|G%NBnf(0yLas1xQhC0Qj%iwODR!};BddQ$pbUug_AP;DcQqus&8k- zSG=H}L?I6rN@P(oc~;zmgV?4)o#UX#sZf@!c&2}ff*{guQieWBaTCDQFFJ=7La%sX zx=3N$Ea)N^1NcROMqnrX(PwDT90t$@B=A*LH(IDC9x|+EJE*y7*G)nY5a_eCkGSb$4GW#goK2_6=P#Hv*6g&w?gPZ&8!tF(u0&08wy?V zy>nX=i&>-dx%k_K(Bt|r9w1Dn@jo-5t3gi+h3T@Pyy4XAYm%OCsWO#!EZj&Q{?OH# zKo<{&YBu`LS~j*j=+mnl9t)+P9Wg^n=zkN>qoGw_MXXGw%)Ys$p&qg-6uj*ZbK?PN zK_txbFgeE;lOsi@#pNk@hmFCp7Pdk4E(I>Wfa-5jj%_}O5!XP?Tb#QKGAo3<+b!r> z2+t`*IvCV67n*??Xqh5Wvm$ZNq8(vHQfA3QIYqMXisWTtcxy#3K}AZQ#cE;28ac&U zt;ISCq+J&cR)%37IG2x9OkEtX7+S~?K$f!s$2fqiFSO1qf{(;RWyP)FLcAx#Oj70!PWj+{#eIVzLt#fsrbAfhRg=h5TZd zq70~!*vxvNWI>Ji{)%`PnN%-iP91}MC@1cunP?XiVX>M+S%pgRLZIFxGR%c`!aj6y zm7g2A3&O%Yyr6B9X%nWJ+ru#3wV>L#$}?UFR~9t5f=>32;hzji`mkI53{XR+(<<`# zFf~#U>WK^S^oKcUW~8oRx~gt;BNMwc)43$5k3Y1|6myc3lO&ykT1*eZ0na7r+xoD$ zHA#1W#z`V0rYhs(yE{!6!_q^-d4-sQ!i)pba2}H(HkCwubklQ^|2x7YwWg+rFb-wM zZR3R^EfLuQvGv9n)*R-zK)F*~J_sAxF#v`2!=*JSjnyG5L`K4JM8;$=#t&1yjzR5& z4~$UrHSZNBU{1)i@{F4 z;+1QdV{4df4pePtFz5J8(2E!E(?aX$_}s4>qy&L`)d@)IjeJAtxZCd{j7&6j z_QSgUAM5R}>vI&ci)ZohLjI<(6W=jsIEW;g&?oh7Mfxqd=HS<}fgJr-VY`CAxi7-( z9drS`MUk%V4(qd zm;OYZj>-t2aH4RiGC|~G%kOLe$|$8@7`U)r;1<@Yvsx@>z`k#MFGj0l&yQ#F254Pb ztY;gWkdpv08GvCkhLcJPXo!1UfZr3VB_&HLJ||$=u>!&CBuxH$;QeO*tSlR}*tqj? z$rIr!udsV1i4{#7BzjHg?~_9!?I`n$fTuq?U@aP-Q_&@Gmy5go*FaEsEkC9e(V`Fg z$6?o#pcr>99c$B4mT~EvX8GLSs=VOFU zhlfD0V_5ID7hH`Cy~oKdSEmrXW66ckWaEe>RI{d}uqWrCZU}=C429;!x9bOM|cJ5myGQvZ{ z&b$wLFxmJgH$zaW<-mo~rg&9B?T)4P`<_B&&#QnH{T`XhcXe@k5vKxAx^ayj>!c=qB+ zR~Xik??Qn*4;Iv$nHI6Z7_IL0`@kYJlrC0=%+Cj|=D-3zF#LL;pX9=&);=uyLZ9w? zqtF<@DTD*f3Hk6c?TvIso?2!f(cW{;qJc&KM+E6h8UGV|PHAZU&wIYL54*&)K( z5MjA-7V(K&a|7C%_dc0Z%W@mATP4jc6(Bn7Q&wpGbCP>S$o-wE1V13-k-^2*0InBw zhK2Uw(3XdDDw@+~^m~E;_#7Ku%S=1TEaT#*ni6t`HqtN3R8#t1?{1y)`5s8gg7y`X z+w-Ao@eg1{@D_hzU*~tll~9>2%=GXV_p>n|OV4dDgl~ScGM7Z*Nq&R})S9C)F{YXa zwdj7L4>_|kX4j$3TLvGcMMfurZ?xVlxq!JxQ}cDB^bPmjcvoQe^L8yjR;q}&WAe;J z1MM>rG$~L{s=DjceDn3jt=j`grc|6T9d&u8{PzsT`aR>~fyzfeF(af(>xKs$IT8mD zQE@Ox+6>wXtuWm=XLP7CvvPPuH$GP*xkU2W@73tN4CKWWUUH_Z-FSLQX&$&=s^(? z?0@nj%B*ClFmxo$?ir{c;#g?H^>-s3@c`LG6qFn!`3uY8u^yll@*r^XL{bXt=g;2u z^6%*8>K{Xs@$=}G@(?qac=j;-87Iu{*A*m|3*29O!SR`uQT@_?fBRS1dUzl}X7;feKD$?mq%;|MWGL8R@8v6r)(*;859K`$D^1PEz{Y__-&ot5W$9SywZd7>M zrsTs=K(+UlEGB&-4!%utRBNv1v0f0!?xm`gdu7+>g~?PIazs~%p=sogou4cuVOsAavS%_F z?P-S{Yg5qn|NG9fk<^*D0n zmHtsS^z}g5#R&(SsS&y^6o{@?*l>Y8Bdrhfbk6TZS_FMkc z9*WldTFf{)=UUDK<^PU*QeqyVvADJj)vD+)Rf{~mICJlNJ6`Rj>ekw|X^Sd}n%KWI zh|jEak2#N)o{%_ph|G&{ad^g=uy9=7;aQvkE4UNmw(`x?elg(#+q*}p>Fh5R?J8yE ztwu-soiR_cYFAHoqNw)60H=i`8129y$dY>U+_yko#Rt8jiHc`NTQ4(xubaiA z6J#0_QO#+d>@u-B{lU@zoyESpMw_9#o-~b}Ez2zBn9fVB6@p#OhHvLQQ()fCxlkV< zl_R7R;{VJ?cH{DL#SXh|)6b3ZL1*nm!kLx&hRRt>7la?PO6&2^MZdJ7ctD1ua7)MD zN3mgP@-M}Zam&Oa0nMJi=7M6+q5J)I4oF@G{x?=g-fS}4)+#o$c1i5kj!j#7DB)w>^T^xl~ zvlZ;!(L0cn4%#T0;PM%@|kkSDq!Gr`WmlF)gywk7ANsr>bDTq z#^Fg^hS}I|O(4RyNr(@?>DKTF04DyJ3RN}k*1TFLBBEM}kN$IB{L?<{o`FO6)qST9 zMVNjo%S+U05|6B{E7o@z*i~CCdoF?Zy~gmz-r1X<&h9>#XS<(xvB3LQsL8wW4y`L+ zuRq+OJO84v`mdI*pVHQmw5Tvbd9GH-wYDwTzF#du>h1oIF}C{`AJ5-@G0T!TeDVVO zQtZh9mUiF%z%r>fTFuWlj3TZj{W%{In5(!Nm!Y7^yOG}a^{Rhh>E4Q4i{%=P9tS@7 zpr5^AdK3%?Ll!cAT`ZVKH~&7PIeK|vXv)xYrm{Aw+UvVQ-%OHROyDoAmmT%y5wn$` zvbELfQG*X4x9uyXo)Ha~?t1o~bzY4mHte_?c(Vc3VyP{IU~exX?Y5NV+VOVoy#| zKThBp+&eP;*xQvnNCDUBC0v~~kW6=wJqDGm{D7yqJmp#R*iX6ZvG zG;TIJv%sPumy&LHAyN%COLA~L)5O6YAZfeNtJn13LJ}jCGuOu-t65czSm2;L$XtT# z46!(nh($=ZUa+~`zw`QNkpykeMXT%Q?DVgbjl+k(=lgu_8OTWEkC4Tmnha5@TL-78 zzCCDQKu&NPA7?lm`lfX8H^N~u`#Cwu$9{&0QN39u{~$;#ZMqWq#OZp!b4*I0v7F7>E)tB9lWO^7JUqBp$SKRI$I;7WpGtW>6B02S(gLl`x=rdWIaORDF# zviUZXutUcnt7-f(;Aw~9y^@C@i8Sa%MMcDK;6~bFQq3vxw=w1>{Qp7Xvz4X>BgY7k z-ojgos7P3F zmDAspiF$o%&0kxau61nuiqBB@GL#UuOS&}qRkmpoCLa=P%x4GssK0%`FwzrVn?36K z>I@ou@p1ci&R1a7YddrN(w*9OF&;an7N(q9qy=gP;yI>d4~cy~00F9=NdkUG7=4d5w__fnL6LtkxX0jXLRQrCmD955U23oA ztKQze4}7b#j%_-+Jl3rAe5M@!RUxmZM|+8h$a6n?^qKTSC*lect#%);Fhx|n@Zq8|02tZKu!MNTJhBT-~eCQ;qlP|!l{)ZS7ENC>HyJZR_W2sw5) zuFB=B@+pz#H)e^2fB4^+3e{jabh$^tZ}eZ`=*7Svg7Y_TY$)jR>`z>#061iyypKCo z&Ei@LxssW5?_IlD4F`7VkMF^b7Z z4CEqSd%!gdqvKp86b(gz=A?P8k#07$#CYW!>(Uu7n98hwc^F-!`x6?AhaUaVhaf+?iSqHx(FO5{YU zFId6}88u9C_6J_ztuzZwlp6Kk)9%g9mW4_;jmPJf&1$uC%=Pk2ey!2v8qF-$u)L3p zy6<<_?1Jo^5R@4Pa#j)y0l|U=X~Tf*obl{@t{L{#Oa28VTNPOUE4x`AUK3y<-nW=L z?bq;Bx?DS`&^SWQ&?QCqbA#w(>E#5udsWhx=IW+^hO1`Qv%ZC}(Q z-;@Rm-Uq3rDQj1P8*or<{S+n_bPk!kTi@y-Epa`!<^CExX0m%@Q7kTr&dUmUX#Ps= za4GU;rMcKhe7cv!&0&fTqgc(f=SW+T%gF?tK-_V`yN*!?GA+CJimDCOs5yB@A7(Rt zS1TGfpeB4!;dVP{c4>3~u~#5Fcek8_cVbOI^#s?z1=O8RD-yt;0m6OKaltFkZ zB{G>HkRo3xYb)jKP`;kerrxU%MukwAskkQZvsAo(bXi`Uk%nqEJL=`S(B4Y(ghFsG zke&`GZMRZx-cN3BRI?DIr{VAm(%J3VQ4j3QB@%_l35Enx9Pd1M-vd#;1}hRSmEAv^ zc+oK-FFpHc+h8-*F##W4JqaBvOr08#-{)a7VM2XGbf5_+MR3jbc?;(q#44JJ{@jR` zC{B^Plr-KGckw#S$RFJom@Z|I{I$6HMIts_I5}uit%^)*mrV+kdUQ1k;^37Q!^{ZV zh;wEL9UP7mA|Q_9q{{pcJ+7uIY(ztMipeG!{)smyylwfELwm!GKWd2BHJlu%@!Vh% zl*jDz#6v^KK!QN`*T)$nmIlURi@TZRI33bM*>^h=;$zdelt6vqPn9zH zT+t+bgtb(X0p2-$7SU3?zvFTIp8jY|LlT21hCkuN%LrlI^-Z;HK!xz@u!Z0<@8YJy zXkWWRPdFo#9Zl?U$_{BB@zf8U-)xuPV+o%GR(ys!tk zXPRvGK0qxkY35_rB_`eo6AsMT6v5H6QQ?n}}Z_3oY%1?&GdU}_)2>3gM80$xecLm{Kd1`(F*&Abl9LDx%UKn;sl%0JuC6`I}?<3jz82GOU0$>FqGeQ zfKD?(q2bRWiP9F}G<8;EfsFQbL z5YtjQ<`ea`)-8X>SfYm9NSvvanwgkzI1}REd>8a0zG*47hBz2=HqC9e`?`_l(8~B}jjvvzefk#?(69V1igNQKgGY>_n+frQ?vTt__01$ff9H;#N-B1|; zjvGkMxt=FTrs0O#8%>Nf$1Ir_iR8#(vy+(DbP2%YinUDJ!TS&;DdJda7{* z^ku%aqeXO>3WMc8T@mm>IVP%SJ}-hx31N>n%9KBtobsJ)lbaGP6DeWaoqe&>y}Cxl z`(o6jZ&VN`PB0?zlxKR87bK$??uf3cZg1RoKDX%cp;$KfqDM!Q^Qnl_OR6y0%)HUbA^>+|0=sLmH2H-{OF*Ico0 zG?Hz;+XX$6M?W@SZf;FEPb?!%m$SwiLk(CpNLQMq(N)YFEbfd?f-iN-_siU2V&&ZL zxcZa2zd7@52l7OM8c(gwYxkleiI6cbdZd@|3Dd8CsP0crBOPBGs6I%Jd%N>>tjceE z$En;d?Phhi21(!CINsr5&?6;;I03-o@ZAG0a9tA@)M66wC_C;Tc(pHy5rA)QlL z{5oB1OcU{O+7D{lq3)ER>}0Wf?&0eRY-&xEHnUrHB}GIUd1(H41`+bIu&;D@V$I7d z1fbsO?g-#-Bp*WFVoLTyl5LZV$(2ZoAuS#Uzlj(!V8-dnJ9Tmp-ZyOCo}_MSpnPq_ zUuu*-q~=QQrY2~3%bm2nrN2;ZiifPn1+at=QwWkPplnIqKdcZjf=tc8l;sBu|NN9-pI~z0Q+kxs`^hSWcEx6|=t(K| z?R^OCllA4t)h`Vq_D&va43HRF&S%<*Cs%$Vm1MAsHd=b?saBNcJd6R+1I2JwsGz*;Ldu627=!znnkd zbKXCE-mmj`J)h;Ne`ml;gUvlquUlN=wT>A=uNZDF3fGjU?pK+-yptxl3X-H&a+iE={eEMx4Yx9%nnLW`zaM zIohSyLFR9eq~bMza+r`_s#Oc|mPE!)%9j~7`};hH^I(RGys{&PXj-F4h1L*gSAM?e z$*6Q~eagO*{TA=ytq>+L6WH#$GZQO%>fxVEe$t}UL_ z=IQ7AZ+FoPKCCY4+~86Y@L$Mcb-uJAPQjiM@8@$iw|L1l@cf!JzCAf?-z?$O60y?( zjDBVJ-)o=fN#lbtVcA9trq4l-)5VGvBA$ow+;*%^9+2hBKQX5GKW?Zk39EfKkUHOC z#r7I=n!k7(`UJMnihw=O**mCqa!s_{=a6m1--Q$n6yMgrk`h)(W22km1Us`+OJ8mp z&xr?*EglPTfwUfE+=a!sy9sSxPotQ6rS)usY+z?kdsFKonTw&pGmvc5TB2`z>|=cv zSZJ>FVkBEC(Wx)_(+v2@!j?HZL$s^Zs4G@~h8U3ATGhhA7(VNWsmighNOgV3@`A}w z0Z6W`PK0{)7bd7axbtNjJV(VCT(fy{{lLkhyd{Qeo~HHF9P7p9~8 zAvd!R1b+Uy##$*>268oqX6xMFUvx0bI$piEFEpL|;d3_34ywUJpES4r#s)Qco~PyB`B|W4uj=M= z%mMSL+Iy4E9cvrrWVTqNWUZH`Ld$)NFT`p>fou0@T6{KM%-VCL+j_$3P%=3~D-ay% z9EOyoTZzgDWEj`+Xb-z}bB?!?^}g1ry_;n>4Dgt+_}a}9c>ud%8+4E<_R)!#U77xR z62^;F^P2g;Y4z0^Jt&&O$HwiH&|7>jM+>xP&6W!Gqn^I4;CHFt%R(x@%h$A0W`|?W zX_!Kk&j&`;;?57mFb91Ji8i@j;WtrAZi$xssv8ar`Xf-zFIdhGEh_a={AUjKqlE*j5w+3s_+3N`+EG<&ZR=40piv*IXSq;X+mT1{==p3C*3 zTdm+e1+C<1`*vyW%F90=ynq?tnuH=u8r3jF^FQW~oOif>4CJWIBLA~`vhn!-9b(eY zH}(dawi8g-`z1F&xqi+6D}U=^fnyOv$J#DrdK80p$kLM4Xpr0n=hZ;#7#f&=hIbD68qZya(S(4ucxG z7B|iFq|B=78|4&rWO=S-;LK&akVmJl=_yK^%c5qu!TP>0MWXAN!9g)A)nFyT&`o`$ z@&YIM_81P9bk%w_P(%Lp%j% z`{u32@3N!>;Nzoa7_MvzKb4O`!#yil+;-SrL_t@%WLL&4?t8YRfxUS2qv#?9P+T$g zD+1D~AB+Y`kMh>H;5^dlTD0p0QB4WT?|<5dyNYm7j014ElN7F<705#*(JBcyVzTWm zn;!E{hRKR?|8#@rl+9Z(v>ERn8T!b{wT@d8mFD`OQm`&~T_IEfyU@3y95S|H0CqBN zw?05nHVRWDo!(n>QuK;ZBoDir`cUou@WiISXjM7&!iqlYRy&z3nUO*0>jk`#p!y(F z6p52Z%9u}&c_>zvK;#!**DehvTYXpsX7tSWG6Zg_$B*?3ETQ@gQfWoV%fQ?v5qA2q zM4b5Z(VM}_xtO;tB89CkIb=!r&SE;(WQ%i`^=3xXtey<=u?2tb5lr98-MqGPG(~YM zQ&|rSPqQy?g&onAW*Q)2b)!Xqs?z9pVoLjaBXX;l>@*p)D%Ji7&w`c0`+7}epij?6YxNVMXIa@gdJOn+zA@e%>PNC# ziqc6CW6DK;d1TN#mup({Tz%AO)Cy8=7fTWd*KE>Vry#j5#itnX9(t;IhAAnSReuQ$ zk*KJ->bQ{gxh3V3eRoeuj*pUSHTk zShOPa%?-u0S@oBl7C9w9?uU!6Mb1E}IP4hj1sL3}fxO1%3VD7L%_$nQ7z=upT@~^# zR9fRYe5fL+hP3N_96xx>7f@;*fE6gb43gBYy=rh<@In1T_Anl}L2{%B6e*>>Y0MYo zg_+`w%~WBA|6X@>qK{pc5e|e9dIkJY`@ot@bTi!SnG@vUf+V|K%*4s!5Ir32)YOC7_=-Q~3iTZh!|EZKIy z^3VcVylE*8>8$-%)}vPEMonaRuBr7KI~NtpPX!fNYA~iNgQ61U`&ZM6g7w_pRB12@ z8@=_8cVdv#gnyWNiG;K84bk^_c?S`MX;YdoNiCrT(+YWqdd_VZNf}~Eoue0Ib`LU%aQ^5{prQ$$vyP5)B}X%Hy;64c4jATkK|n?(NPu z@5q(Dt+XX6qxQDUMsz8@C3@3CqD6$e8XMu$L)-&;$;SiALO^p%v%7nJIE?7HJA-R2 z`-fgc5_@8uK^|8q_YbP0cV+(t6LF5EU)IGfrS%I9Gue+aP5>fpC$F5jTl$^0nI)@| z%6mNTVpCoX3b)O6*zksy9PK=lL_RN@zFCWu-7%DDK4avjycf=PLa61~>(at6m*cp2 zQ&rk#0GxB>N)oMgr`szA2VY-vHy?Rz3N*rxmr*aPZvets6oae`xjXFiROE$ecS+~Nhs+DFe0G(grNQw(cBST? zVb=cZ#-k(9%rHsDpGW6d5s4rA4$$ev5CBf0QKyrd~S*4%tPWxS=8Q- zFKkv#udr?lth!((^PigqxsrVM!2Kx+T$k~kmXXv?d)aRy2vw-;s)+oN`}0d~()tkh zlo`hd`zcNO2VW-^W0~_8h2`&m!OYBOOcL%BK20I4ZZ3bkzp;wmogSYDSt9V}Urd#X z#+gnlMNYr=_7=zRHoQo!P-v_W;*1if)hl) zi2}`pG#>ZPv%@Rh$3_XAGY$#5@FY5Zw69*x+cLd%fR8V2pv_?BS%L_p!Xh3yC!knwy0b$4=#t-&x&%?K%-jxL@)8Y zmbQG?#U6?w0Fi#8N3nzI#{h$wloBxqA3bYjBo_hs)lt@3j&`a5nP&EO1l6Q3I=Z-l zdFZL^-ak{|0wxB1K}V=iDg}dz%$q=;rZO>oHT)=n1c%3?0Vr+(AgB^!w$q;w3!|WE zEeXTDF(f%;s?8xtzIF9;D~X4Iol%FRmoT z$?^<<28((iSBg&(#ITt2L)L+1eJB#|_Rhr?I>_V6{iB3YpFnbDE;p=PYl*?XwHov2 zBb3lyj|-%W@)lpN7^WUB#%KcB(g<+@sRw^)r8U3!9!~^(;J?%E*>9GsRZpvp1n3>( zL$loH)-wluX`g~w#R}1r#BZ+ogS^XD?yDapY#jTT6V112bpEb*t>-*I4c|^n1mE(4 zI-!--J_RaL2r#NCIS9_}P+9W=&Q1h_pS9JI25^SnoDOh{sbfX9v%< zLI28pKHgIgR!q|_19{?za&g7&RpWjupgr|QtBUoxzbx!t;aK}3DI9{aBvSjFaXhLe zeO^a#*OE@E4bkVmm+G6tA9N?`i)rRk1n_8bQ^|cZBK11J z>~UnvWPH8%eM04f;;|9Z!vZ&v*w&AaYQV3g&3UBVOn<^>>CZi1`l=g?+ep;?aDmaF8-*Zcc=MgQq&0<2nj^z@q98 znIeDC-Iz=ePyt8S^1)^3y(aCN7iOPd4ACg0KJfJFXT)UiE<`)AB&O62#t_~2HenZw-yKbivB^(DqOXUUwS(!S!4x1! zoL6$@dsPgrm;jA7V&bA=?8c;}!Q`~M4gcy}K!IjWRaiE#;B&M+B_xUGBS(wp9wlP`rh^R5QDIy^5-* z&&G&hW#Ov}rKA!?UDno&3I<12>BX5s66A0aeY<7TUGbnWLt#PP>r*>BT1Z4$hJWext0wP?!W*<%oiE)br}}pz zrRw<7p1if;khBv0_1XC!BABz`twJoJOcM+nWDTZJlmcHa!FDJ-5 z;hc(T%zUT0AXu0HjgAzpEi^f|rczATrNh_I^NP{+#@vDhuGZrcIOt}l=f|T*O59lB z;{~3RsXspIZeI?E)cOa`4NMI44XhOgCHh!+u2@wdj2nU>gTaS3Gii1YX%T3{*}`>d zI*SHbOsv21lqR3E_{ipu#;G=GpWPLmg#h>|;Gun{YwfEG#Ve9}7{9-kId0-!%5GWp z<~UhL)=(!s*MjTYbG{II#2LyHJGZHet|(5_F>qKwtcutU8qy_*>58x|84BLg>-u>; z?l!gJcM)DX2I92Ay!G&WtN}F}?7C6{>WA(3-f&!C6fH1MVyZ%gS? z$!H{D=yVs5GH$$#PLf|p;4DscBfO9m2Y+?kX)H)i4pj-0bF`!iust4&A56nk-~2Xd z;KYW`V1DY7l5l#ekDO0VCezk(WyEe!xCUo9?UCTb7{~u^n9>vs8j?OB(*E|?pp}WH z2M?V|wE7ptU)8cZjX$+Ur3`>vLy|2Q%rR<^L_w|_zY~q+S*h{oqdraQ|I2W7bcfCIv{iQz(%h7jp@XHwzkSEH(Ed0 zE3Mk!{55iy$ItaP;(aACQ$;Izv9_456$b8)?A8rU8Ee~lmh|bxd$|RruE`i$>es_Y zW~Onh1{&)qzC!ypC4yMyzVQaN8R2YzaTu~UZ3;#A^M2v5?Aw*drDVEYViwm){qrQF7-QigEO$<&KwTX$@5ylYP)9ZC z#tF@%;JZ=X%n}@fnEXNam*~!0=(L)#{`n;TY?0ERAWeaJEm^u7u5{&|sr{aWvOr5$ z(W#IVI&*B5&ALH9o8h^p<&G#VcQuH^kstpa@=z9CHmxsS-tVkLFTL=H;p-qwW!s{; zT6Cqruz#eiCYP*5A3~+1dp5Dp`n@-93oPEfpYfMQurA6dm z=04o|12xQ`Z$38ln=a)e_JR%BkEhGH4T<#cX^m&UnItNAEFTnLK|RuNwu>htQo>zv zxcORvlf-3IvWX>2O-CN(SFgPOYt(7-X!*wk`V8QCfke6v#y_&;3nI*{JVdYqI`95* zL&q>PNaLI~TvROXpdT!D^C<0YqSvbh8sKk9qlp3qme)pqh4LRO@A@eef^3KJfiDH} zpUiyg#$3?%Ti8Q{dWxZ>TeI0>EsJHSy(rbuuDd4ROWwRw`e~`C*&wBIdX4EQ9Fs*q zKxn9n*q+T%Pre9!h~0hH;yvf<<$UzTxhTkpPxDRT=Ijr|xw)oK3e1}#;HOk85#0{m zdX=ro!NB?ULh^@@zVn{HU?gCcsSF9*O9qY6YI@Y(-DGR(eTN!k$aOL~lRz*hq&74} z%|mH~qCL@`U|bUAy+}zixXz%A*n)kekYw16LSXmFQ}uS-p_4Fa4gJy4xR&=K&*NHy z-<5Z>XZM%aR;mwFdB`bZOxJB>7};JC*DZzgH}wd4CFI9dEK?WhK~<267KS`LChAV9 z9b$GGrlEbZZWI%mA(n)6-C6CYTCdJ&J;eWT3+pNCJ^c}g9AAaC;+P=0WhM#WXs zUk}fGc!%TVa#lfh*zx+1W4Pih#z_vpH(KV)wA4&;+#EYHgX}Ffb2n@nPn7!#{wKlX zH{F6>ta`Nap=!y(`q6?@ZvO~7gkn|j)B&hr=$MJ$I}wUJ+uKO<+0(1ZC%3jTWIHmk zOK>1A- zPT_4(hO@Asko0CgJDb)oW1D@m^fLu|?K~5Z@Dhl-nvgN~7b8@uaGe{HU352+Rmgac zsN)%$ooL1?)Pp4GRL@-bMw+2Ht4OLo^hS;RbJxRge{#FT4Sk-w@JWEL%1339}xMtG`A)>)RV&e zogGjU_Z1=f;Uq=pJ=Nf}C|byWAm_f*Rdy3cyk+^>2*=|bx+rF^Am`S>Id7%R?&o!W zUXoRR7cM(>5Twqx1S3l(MN=&)Neg|FlOVVSV%lJ;YpDbhI#9{boTLeP541{QKgrOb zrIFdPA1yfxNeWazD9uV2b8V`y@-Z94hx*avan9H5ibHNho;K!<5}%X z0;L^wz0Lc4^l-ZD>ed(|z2UyZg~c@vX7E%J6K}DsmG`59XiIZEt>PAQqLf=SM7u7z zQ^a4G1w-@LpMjNKrscKwbAEwJlWkH+@Ke{z&B1^YzAnVH)`Q6k$b?^7x3eZ>L)S5{jpNU*Ne>T*eUT77{XV^K~c;>|8 z^*U8BzW*k2*suVO7$Q1N{wjmi9O=04WjNy^6TNzF*Rj81kZua5Bv!s`tK2bo-1^QF z(y&M)$Xw0rq1EDC5}cUPG+C4Yl_}d&%eS-GV2t9#a0ugwCWTc*9X?_i_nvV-@MOcS zO(k34DaP3+v68NY<7!bYvuOHZids`r*6mW8Kw)bk?EsmwAuqyhiK2(~f-J1;1 z3Vk}fkR(16lY-&Y(3)ao;B1~)VEEUr@VA<}aIQ-rLCb@*z~XcbTJ&_HECiUI97z5kU-D2n|N$0Bn$0c z6<&L4&2NJOUM>m3?N_p}kFpaVUjNZXW6UIm4T4}Xf0Zt38w|gl-cS)KdC5P^{QeeA0Z0dUW2BJS&?2EIh_uz7`N{z zPpqDTpO!JY>V+$@?7(|gspNawwhQ3~GM+p)ngCa8x-J_nu^wN(jz!%1&*qn!PyUqd)Q3N1bkAIvcAu#^ubjB1Z0Hj7g4(G6LUUSK1nF`X2-lTVWvquo zAdWIKijg1>unbMy(+gDQIu-r6NoFRc*wmP1rg@vrNq1n4%G+?KhEA!{Mn=NL#`I|@ zl1^fndJTSOzQ%?x^X^Xr<@n?)fEAj94Ui}b;W?uyv(fF8eD~)cre@@&n3Dd_9k+cN z(D@(t8)CMIew6QkrkSCZ_hz?=7)6b+ju`H4!X$0#mW=CT0BFm}Dp*V9R}8U|V1Yq{ zqYCvAq8<{8#-f6d&7fMH6f!dCw)|-@RToMzU;^TWWaaRV)%Hl{UIn+n*oPTG2pq_s zq)^`n30+-a2e8YeC|!v0MM?>ex`R1|(S!jMavg-lSuVx1nT_70H z$q=Mg)!>~#uTNla^3ljmg&`IB+F|nT%K{DFk2Do8U9OuKZp5Tj!*`^%PJEK8$dhWK zr5X))7v6$G^cQ}*z7R>r{!UL~O5AT1&KwS4Zxz)JsJd3p(%6Yo4;qj`z zaxrj#gwn(5qrW8bC|2*6Zd}R$9&3tl#JELSgIJX+pPKbYi>wLhR^$ciWyllY|7 z+rqV3R2!LC*p_nSAW*A!GHz5P*IHpVYY=cMVA&!4`MX&O-=>oMi7 zDLmL#R9XMNDeO%PfkXei4|88UrUOW>g67Nldqd=hj&el$H4# z1v4`HYePHJSOzi@;olv+{*N|Dx*N=qv0~W@SR8kE1`H}(_qnweWZUt&VSCHHZqP4k3wON%iDVB&a7?ueXDhzHa z7nS+tk52gK?IB5{CprNEDN1_my?`CA)D<#=_Lsq6InX;8GdT!O@L(D4Gr3riss&V4 z=gTV5;9K6qYWtb&-A%q(N!B)_LE=|9y}a|8YnODF#QTL8-tVxZaFo{7geF&SKBi_C zfQBEygp(whf5|#x?9m($>`|B#@lf&iLRkMYbfUUi!?5_@hgTg#a8>j@fanY?_+&OeY z?bVUT!6LfU zQR!}(J55v>h)m!;`lo0Q(Et;)cNUjIzc*8>bRk@9{OCKyyD>^n-@v^MVN$7TGlp^3 zw|WiW^qs+C>EOg_iA*I(G2B|UfM}5+(n^pTUI{z2{&t#>RO~O<5MFO6eg!#M5yU83 z$_1aXyn|tII-OABmgA9;cDC_`wJtk^q6Av|xFlb&td1-7#OwNigb2*Bc>t44rdNsp z_wzXuiW^v45jw2ADmRn}n^GmZ$n!6q7_bKji(wU}pwM&o_9Hv4wiehpRKe zfJ8G)s`OVz+s_0!r;b)@J1N&kayO^3%W8!D`oHE90UoOpPxAW3TDTz8do&IrWg51Y z+6|9CTLTzgm$`_4*3DJQ%CpE+$(6G$sgktLyGJ9-mmI!4o=fpPSX?DtgmFdD%${~V}jTn{&B zNvg2vnQJ9A`-8!nCurp*5ojps5B{1#B}(zvfCxpHz0xgJF+s|E6I@)yG6zG0S415B zOeTND`HFy-E7rnnGH*?q#klG5UDc`$x!-nM2f6yfW^5-E4^lLed{>b+1B9P4a55SGuWzESR zR4&!hs;bmj*U@DRs7A3?E%&ISxk*G%dYTTez!QK1+xqhO)B;WYV|iu2sOLox?iiSz;Xy51y_)=DX`hc6GkrpAX%f;g+o_lB>hEbxkgUZZ7K@4Y9% znUv=Kt+!iynOy!S4`+_Jr_i&Byp*ilz>@;PQxF^y8j+vO}UCcPh-u;P@Ym{ zx~ZiV6Z=A)`YTg5HOb5!^LuX2+c*Bsgg8}A+%A;-dl3q0eEi`sVx;_5uRFaM<~N;# z_kbS4z1Lpnp`5&P46adTSm*&s<{b{?``xV&o)FR7y;G!4pBx|cc-3fKx=e(e z`;R@TSHBk`k1iZe|4j>_LXIy=tVTCn23#1=Pp*0V5$TV!SG~arrFYiPfQ#L)t_rSt ztK`DzzewRq${UO8f|LT48mdR)T$T`;YkS0eb*A34If-D4QG(2LRO?mmXM?pDTAa_Ku&`!fMer*xW}gVdT_<8CPW zpZLg6=wOJD)$8`yjov6O*((Ef&~#Kid^f~uJM^h;q67Iunj!BB>8<3sA1T>Out%CA z@}b2iY`-@}?nN+Si!VgP^UXozfV39Pp3E-QDHaGY$%)9_GO)( z^7ote&!@JbDJgk_1_2XO2i`Hkeo3s^jQ0)&oY>#0S$akqUsA{UKV1E8=qT#_GvY`% zKau;ub+5=H)vO42x>sy2f(~Ix78fx|GZLL5o{U~mEn^a8+4yA2 z43CB15$iSU*hu0H3NaFlV(rgk(QFg3Db+~{=3;I-fV%(W`sv4(s(t4j+%A#D_8)7Y zLQi%wYE|UOU-bS@{p60-`Dacj+o1oWa?)XSHfb{kJ$M2sIMb zwxd&hnE&M&&j$W6>hZC@gtf*~1y-Je`D&jw!|B}gT8))8({yqGe!(#8RG%%EcyW-9 zTJvnNk}b0rtwyif)3PS6#wboJFa=se3g9a9*kX&t1JFEQiDQ{jIVXWtzT-H@LfqmZ zA#Kc7->XGOJykr<;79*o`&&%H=_+9dSc^|a$`=P?YUK6vg(o>CLuqCj57;Thr$&uI z)}EiUm4CG!JroAuUxZTglyaXooI z+yI=Dcghx*1PN_?bs_YnsPQ7UMake>(Y`{0{MISgUd!2OPcbF@>?egz(e>mr!+A@k zY1zwToOi^Ibh+!JH_zUzyo(11l+y??k{G=~LO3a*E&4oNg9Qt`z)m@X&T-#%EJCbi zmGO7(2B=s8kYKeYc%->6mX1KH7Cl)p^F3x;!UZR5?o`CdFg^lUp&aU=kBsKmSWU6+ zf)8=G<~~ZiT>Y@cCCFy_?_IO3GhrgxX{VBB#4CHxY*WAuR;tzHE=Zun45vL*DAn3L zD3{5d62DA>-CYfV&DFz>Lb&7%)&4Xyv)y!pj3=ukiD}Po({_K6@!D!$rjsZ;`;WpA zY3IGvqWC=~$O(hU@*(S4x1mSySc=X98<#?w9Gq6UTH3|0_2fi9U!26`<@h(l4CVzE z!_hj0>H$MMMHM+tZBU``5~7nZl!UYf?xq>vRki9osKb~6B^UU=zx@;CXLqVctqy3`)4V~ zg?Wjd>#^EfDlK7$& zJoSlB%K=-htg>!m@K@t8{bs37Yq`a3rulNFd$nlUI;#w+`5Pklo|}0ISw3Oaqne7-navmaz^`o(T1q1+p#+u zb{!3A4bdN@ozFCQ`&M5!M!l4Fp-3$Zp5ALpkqvPBbAMs@h^r;--j1idsr}^dv4-N^ zdT*NB3p3WLtr_P5o_aSO2eWUyA{qpG+un8@di1d+JMm@UZP3!9McbEB9p$aKrl^NXPqi%wXzAb**5`>HafnC%7T8Yv=RH_an+;!f-=~Tt-cL$ zm-HLpV@v+hImk~!1+$adG_gsfJZ^pUP9Wk*_yu(}{<0Ix)Pd*IZAB6eC8X&-r#RKE zb$(=ud&z%zDjs3FQquc&)hW_Evu_7gM8_oZZjAjl9VwCd78^-xU zOt~wXb>^w^gKi0{IMzOkfH0%@A20}(`xZU-DyZT4onyC|lOms~ugUw^GM&qt)=Q3% zf${yVz)C8~xW43O&z~8cHfss@xWQEqrJL^N)8}?>l>t2`WF-4xG8Vx+vW|MTjC*uE z#g%m8(TS=zX7H#_haPOE*FGwww;2&@yT9rgexEV^?n0GP7aI{gu{^-Q^A4i9AjXIM z@%K%?{G&bM?U*$I3hTf%mi^51m~~P4jxoze`?)U!)`eU;CR|t!3MZV_WXn3H?!0qO zU;DDAQoy7X$8uN>irq#_+*fX@m0{_J^O25+3iT+0;Oc)dMI|QpX{J{WpA~4{Gi5e} zynLq}jeLc5eADsnEtEK7c1z6M2(x(Skz358z}=j&({~yECP#}}n?9^W`Axggf|j5^ zxQdjyMWc>42gZ9BZrwc8y;&}YZ!KYcODiXX=|c9-Qa*hLD<53xT$Im$OwnE|GwjV# zpZvoUaAM%7yPQ5j8REfZ$9~c+r~6DZ%9Ho$t!vB*j?YP($GVngg?cV}q*0FDG}7Rs z7;E__u5lg##^LYGcOvVj?mUm+_6@ar40Lx@Z2XOW@(VUIY2?oB@s6*BAi1Z`f)+ zh3-F#7Qo9~BZIh8@PW(JR^$lWrA|Hmeh-$0LS}+5Q@@5plaLJB?Vz4`8bJuXS0SMC zDnN4&C|C}#C;-A-X?C_iXexjU8Ppg|FG!B@fW-7-LE42tdbN~`5jv|uP;XOW4-z2Y z%4ku5uimCkS&lQkPHy}wyCVvbQ)}AJO0YJ$Fye5N;;}bpFXm3{Db8go-7>Ofg0?Nt2 ztYuRj3>ygxQq|>vBk%XP(o}ATjg7>CeQD~*AP)%8^HZD?l2Bq4F3I?)w~3~k%oMU6 zc3B2=SO&d@#kjyY68F>d%kKvnrAm<_&i{cVYl$k$AU`VLC7l%In$))yC%6o%hOj+` zB)_Ig>_a4rKfX6B9?O@ig8UJNE@v_w&7`Q5*mYr$7*vu zdDD{YhztwSa9^G}B>g1k!`frkDW6zuVNBmMgh#nx;y%!LE!y5sc^gAp#1JF07%d;~ zSx=4_-Hy}vadj{iKeCPQfYHjSXZQBey<-4omOrwmiN^Uxy@qfliqO(A<|H^E#!pV2k=QDFSsaG<%p3;f&fc8^cGihda=^9KR^miG^uu! zsBBkAE&p55CBB>9P0e6)V zF=mrIX3g!(hG&9EeV6men8jO?-dv_g13Wikl3fPrkeQaE;(H(|=y;Xo4mLQM>24-q z1eVs=mt^P%Oq(g(uaHWx2POE@gsT;$p&sJg%f{^0<0R-97RoeRuFd&Gb@i!u`9dVN z@m!IR<}G~g^5s~8UVjYVO_I6uEIeT=dWSbdusPP=1Nef0sKN%`u~$DiiRgBH7G?sh zh>T7C7m*JEcVQ7({?U`3&#EF~@~N0~Pe941pdT&33m#k#mZRGh=w(ky3cnv&{V7No z0G0HN;+%C0iO5@eh5#@|-bjUv;&F>_*hsaxNGKE^q0G!)doARdAP)Cr3;%J8ZG0)Q z#pk7eok3;9%QTVbOdp~)53T~^!Ml(sr{*2UoAsjz$C)L!%Ji~1!G_f2d;ecO;^qX+gHxz|8kvHEkHov);eS;Tn z^SXUqGt2`2;?0AJH|d|-<0snFKpl&U?b*?9a(}f4r9+ZH&Zn6yS^u#*O}xe{bczD&c23oEJ_AwE%~0ukYvl1Z7zBI$ zpWY4#eiK%T0< z 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�`XQ&E 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%0AmEZZUVOhLUkmAu1*_e007c>|XNt^{O^ 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

$DWf8KL&Q6)A#3m-#t6ycQ(F(;-e?eIpBaJ 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 z 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

Gn647_+gj?>Lg;}Ll`@uC8AGg$`>yOnHI*uQ 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 SN22O~Gr#qJR{O78;Qs-L%mNAk literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/readme_assets/qa_thumb.png b/ai-solutions/android/05-QuestionAnswering/readme_assets/qa_thumb.png new file mode 100644 index 0000000000000000000000000000000000000000..8690e816032d62883c975a1d7242e49154c63054 GIT binary patch literal 110122 zcmdSA_gB-|7ydgAql}}#i1ey5h!CoUB5f2A1%UyC(1Rc%Qex;OB%`R502w+;2ucy9 zBPEnT6bX?U0qKxHLg*xf4rw=j?)MM4KiqZKx<6!*u-<7pBzfV5B;}ZJIFT!7cevT2qA0Gbl3$OIYkqw|q1*8%gk-KdtA^Da1b%;eBmM;7S$DMVI%YTSJgL*OyWkAK#yTR=#b2VPZJcrObcTO8mO0?DC`?C0I@ zkdz#zjjR_o?8`5;4E9Hh-VwEY8=qY(x?9G-Ro?Hl<##h%eF#;UBo&+XOHD2z0rysI z+yFN9`hzqMhnaBK5Z|M>L+Dhta#~PJUrF3+?o_QgxaN9^qbX+kecJFNbbdzZC}+PW zESmb|Qo+(68Eq$A3#+8!e$Tr4I{0|}^s}H@S2qd=hEp~(cWcqmY0&l??AJd?7fItN zVuSk8I!e{Jy`uvTgD2{TinLO9)BUHn@4D>O$J!Bzf8`QNype`M`qw;LsDI1F5Xe4n z^{u~#KbkW1it?QCx#r1GZIaZ%L^?tD2CJxTKM?keX7f}{vIHZ;=~ zL%r**AK_og_NNKyp&Y7ryWpjA+Q-YhYGb%v=5}ND-XHtM1v#Bv$F=odHd6J)el3r}^F=G->nM+WDx% zfyLspj3W`~RK2tgLrMJS3_R^_B3*DzB3{Xy)izwkY^m=3f&0MO5#DsV0E)ivfT|NQl4?FtI=wD zYO>C^Rh6VZ{8k#a|Q?UV`-+#fm@PfpW{TlwKV zr2Jg|W!su&Iz6~8NE&W5U!`o31UpO-?GuW~h4)^AKLD-Q`X$}AY8^9LFaKIwjlL55 z6~I%19eoAji$zEmb>A45{)w%8QdF_|cGKIwD6<+9S&acKCEObSFOAwC8e5%2j($f5YQjcOF?pUb z?^(0(HGO8u70Mg8BTDP^B3@O+LzcDC=+>X-DdX7OFprXkkfO)&(YZwADJ?WeCN8$W z0P`W{@XGghxl!NwLGoT!xXV}4LzENONBwT5D5Fwv&~Y%rAjy(hV*sCc7l#V;QX$+B zfM%iMy{8r^FJu{$Z@=W}IIqX_8OV0^(-3ZY$t||L8p*C<`G`ccxs~@KOe8JUbANF; z?#CCMl|kj9wxJ`P4M%WdM^C$Q{omy(dwIIb<@=WM=VVX@;g&`v6HQ4?ar;wObe+Kw zS^5<;x>GmI%4J(ZJw>ErpOAee$bd4M@Ss2?A)-545^tWXrAdN4dQjOiDDg5++pnE8 z5yV=l+gP+h6mKA;9oi^+hB=PH5l?FkgK=@e{V2~@$Bgx|-?6hOUV>Cp^x>R7CrgR? z!xRhf-038UUCezDA@~Z?v`-EoG%q|~qb^3z>ckGNN0Hmm5^mrhvZ1|+b3=l3QLUIS z@x?VbLoOGC@ZQ$YP4ur%K08)*jbDH6Y41nj{4otEyTh^ysm;!fNJR78OkRIC=`ejc zdi9DoM=33(G}ic>ga_OsOq@7=B_M*P=nNX)@~!isJncc_;xmmPcj*@JBu^4( z_1DGh>lewpmHbfg`7#?p585s9#*uWwc7<;3SFY%2$68*STBC0y9nY6YXu(23!-||t z>|YrbySk`Z;C6bITb-|TDQri8m|BeEWK8UHL%nNjvRnc?z=y*V(Mze+J`l_Wx;LVg z5`>v4Sx_uEL)0oBtAR2Pnvc2nVXlARRH%nd@d3b6Gk8SC5THqtd zm%M-OL3*|*=lV8h5#wBCE1%WQY44{asYQ%W0o1Xx@Uz=XL_`HI+V!5vMt@%2mrCdB zp%Ln8H*9cq*BvyAznI5WN&bEN-P%B&I6-bVCu%D*B5i~lVk5`Q0e7b>UT^v%xr3QX z?w0Lkn6jCCE_fS65hQdN=uU?{fpjS~zt4!gos^6V-APw|>L#IO#I7s%tdgqV{!zdA zI{TD{@wZPMm(F;>D{(_vtMC5})Y&Y`WtiTw-C*FwiWz4pDO_h;Y4{wJ>UPClq>SV%X?SNZV@>wx7$-!7E)V8plu z);@&o*cK{;@($MWK0Sr(2xmPoL=K--4uYUZKhy(q_BB$G&@BLSlYlivdtB%OD@HoG zM{g9+?0_@S=}!Gc3toyOcHN3uOMsmt9da36MWtxR9|wMScJ{*XDbfOv&mD%{=M&cD z+N>z$@O$?1H<_<7Y6*Z>oKK1n8&;WU&+(0uiUtSOGH=Fq|r%7ic zjW!G*qmFvr8DC5?!|SkJIs(eB?d`EKP;QzvLZf&3X5?;nq6qUs3t%k&iV~Wgm5_B> zfVr8lA)6nhT~(r5Dz-H3@oU3f<@!?FjSqCOBiFv{6U8+plin59-WcP)Zw(b?r*|tx zsmdNn|5hA!IwI^CL4`AJHy2iXo8$aIkVi2uJF{-CH%$lsIqn|oqrRp`o|GSnY4h1P z*3;Xjxkq_}yt*Nw86ADsG(D-C$@gKN1OykoPP zl%P->j@`rwr?l@)l*Z^>h11zT(O=9$aW}V_yZG!0w}GE?sV^ikcuy5civyZ`O)94? z7=eC9F{+4^#=o+<)m)My)h5_lagFRWnyB~SK_nQv@kts&`K+lk5ppKzan%MJPK>)H z7xOIwvbZ9N=j_esXab7AiNFtl_`{|M}WGzEp?HvL5h z9-A2T#R?}GSMlJt>ra-Fvc_T?+*e%Y{LFn$ey*^`{%&3V;4$SPP?1qzVrzS?2H6!@x8eOPvo(gw&%P8YCRm&&HG{ppGy{pVZFuz~GiLp? zt829?4G0gD%vV@n`rY91VCZAh@5vg1#h3uQ9?XaE(BrO#r`mk{$tS9O?Z0MSIpe(I zkp17%a~qCXYwcjkcqrz-p_W7B=$R*a{GuLKOA`&uiC#xd`w-0avgX738XW=Gt-}23 z`)hK7#B=wE$*RgSv|rSwwN{)?gcG&h2cf3+L6y=MXsa=dy6ytM+r_Edf#1D?;_uWp ze-Ont-bO~^rh+CT`vjzdBC_9gfHIv@#@!fqZXT^El)(Qv%;#^a5no1p_d5N5%W9dFV?W=Jf1=J? z$p6mKK5=!ho_`&o?tlL$&EI~J`mX=~_#$4{3~UAUs@Oy9|J}dI`*TPa( zur;Qxm7Dyt(3n?-EKSbNit~ZMj2aJ~FnnKm;P5^`kG}GhJvplC@IEVIW}v)r>6afj z1I+tzhIir9u(8UIqx-8w7d>ZdsT2|koo5jGWHg#KI!8)yTs9H}By1n$8vT_9#g9QI z&SKK6^_*s>=WCDJ zjspJlh@aK@cvMlGsU|pCWKvY-=PI}R+KjqhXsUtclmzuz!*53H3iyVO<%{BuR?kw1 z1S3u1iGY|e$@k(<5E7Nf9^Y>jVK9cUoz${!102-V=;(aD6Wk?aW9;yR4_+-4J?k;c zd?RVBPdcIu_>kDs)Rr1fxO-fv6Q)Vc{$0%_);lCg2gchVbO8$MJl30b7bYIZ(;zqx z-IPe|5sWzvmXk3I91D3H&?;?=SAlIf5K{`FyZ(^xCbC(-m$m)(IkYwneBaDjG>0)#zmnqVB{8 z03Ac6=UthNJ)+A69Io@z7J;Z>{lI_1V2S( zCVOMqn*tQ$8q#@*K@U0JVQXPGPE+$&Eux!n$Opvb8rX--;HFhN0@E>n1M;1|hR@EO zl_J7MnGnu%={oGCeZEdf!?9^cQS=A<2o1dg89z{rk9))<#oHm1@-~4kHywDzSVDuI zW{$|o4mr{Hy+uXXx0CdgG5hldm5H1>A2H+m=wrC+ z3~Y_vdF<>7)Qvh8y{B&Uc0EN$Fi0L5H8EB&o+$oydu zBt24g+dYI@lxGwa-@KS(sFWkr}YO{F$kaUvWO)q4& zWx|g!K)H*YxESnNYb2rREE>DsVjX5Xc}_yJKrT|#Q^BG4_c0){+1u58prP6u zOT0;$^=q**4#lMoe>BTP+p;fl_Y(w$+#dV=BHsz-A8-fWY}TDMA%Wu0a1^wn`XMZXKxJ*#B3ZftB}S< z5oG@urWR)iBxeSP+d}7KbGs~X2N=qSK4lj1ec zWkmHOxGvWxoqju^2>U8PRpzzCq98}UI-w&2-b9V>%9J$y{VhXEk`~ud-Tl5Az*k}O z-ykZ_q!k|6_GO{>@X1bwsI|g=TLpDPk?p4Las5xwVW9xEHX%2Rd|f$>O}UmG&qWe8 z=njVo?;cWKQ5hO;aNO;SIJ@`b#%fd6@gU?_}n`xWzAopvi z&)TF1vlGKRpT-)|;P+kE@E|z5SyWvMsaO~mF1L43;H~DP>g;Z`b%tSN06R#?2aq%X zzKTpNhq9riWyAWrYSFs+nH2M*YIuB@92f_wJ(5*g02GIj!U~_f}U^ zfw+YSOj2$T=yWT93ngLo=jQj3xwst|b1K*LoG0s(U{`>X`~CrUIF53I73?DR!26Di z%Rhg2UvrlGQMvoR8|D4aC4>D7c5{>`cLF9h#=WF_(Q!Q+L#F=Gfw%$Pm$7}x8#YO# zCn?_!wE&fOvgyeR`^M!)mhk>Ol05lnq1Xp0|Gpc?4R^uL511lF;9O$e!^x5;4sZGz zI&3pX$9FPiB5bkYptEf+)%wvM!4DUAbDfo<*qv{}EW0dBPaEgrjHwWjsjDzZCmwPT z3qKplmoP)IJ31=(KGIgEvo_rSU3Beft2XZtomLXJhZcSEwWT4+qiEI7IHWHRH#ZnX z@JmAiJC+0?y|2gdHq-q{#U^{-oZ;o~;*y|c{3+t2Zb+$=1rfgHw6d-(g3DVPe z%KJ8>Bx(tOsk|-acy;0gR?N^=(`L@amfUfFTG4{D^+umtgUPW8(^jaRPJ`fr)T%KP z_H`A2V+--czmP^VA=@cM6v(iCY0O+e|@n zhJm_D9b9HY&QMEFqWzC0q*J@tZsE$5WP`o#NPvJAGBg4=B zUV*N%LL>P-)3lK7!QN+CdO_xebc+2#b$=6pGnt3GIuKU9EZzRoDaN8YUR*$Qu$Sy`l%shy|9v-@x*GV6{$uA*6lsM(< zF=Rxf);M~0%ZSK{va(pKYBOfH$!^H^P`N4xu zJ3WF*$4TTXIZ=$ZmRY4Zq?%A)F7QyWFWwsR8qyVbhuXOBwU8C?ij>h$AS@5pK zd{0?F(5xiR@PVE5lcpRc&b%U~tA;C8R||jQZyRvO{XuP8@?6tQV1yBi=_Yykh+=KQ zRqtT8zhr(TYo;#ALqcYtYn>CpeJ;!ymB8sN9MAEmg^pd!mx zxl;lk{pQKa>Ci+$lc%f+CsjjVo) z=Hm6b5hPdyl!rM*i32rjawCGJ2PKv;M0!ZlYlDucA8fgtBiY30So@KuOHIqW>=R?O^{=(JKO}JkApl#C*V9~S z^{#1es(iS;1Sh!{jSrLPH0Dt*{Y?9;029w(YnX6T-Kb@7S1GNSeSW=`@8kEfbdxQN zy&~|_y$Ry%W#AG%vyj&pMW41sW)7|*m5m)NS>je&$!3}xMYmVCKdm={dA?AtAc9hX zbCqFm7sRvCf%Ur=bpnQi@M-S}r-Y|9VpPKMro`rpo?G-#O7mHX?pR!yV>-{*F^==H zDd(X~rT@Le?e#UZ7|;_Mi=}bkYG41$u|tIogD4vo3X)(r8NzH*LV7^raIK^xk`JYd zVR(^bU#*wBwhzCKxs>xv#nCm?StkMXEc9<%;7O&6*?oQ0)uQQ1R&9caW4VN?FCp?- zN5S|GmZYw2vW00N>&fhLDNrNXn9h3})%CS0givU%nwS+xVB}R>k$yXUL%#{=sTZjheE0Xujd|a7Q5Gy88*ExCV=(J^Jr?h-6|(+&JMS%FvM{KL3DW<^(DTR9jT4XLa5ec2fHk(MW0>GE^x zXxjKrmOML{XO4HTkz(!DHH3HmO_2W+qd9e{gV~k{<_6ohv;y7FkPkMzpd39~y*v46 z*9#R2v8xi*nDt$+kaqmfsX97T@|Nl4!Eb@)Z%Jk7?{ba@#HOR4RA|^Kc`{zuj1; z_?84l(^ZrhOI4&i2h?bt=rD)Uj75?&;YSSzv?1GMf^qpRq-RstC;O&-63Q8J9&P{O5B5v_Mzilz! zkh&CY8RS9I%Kg1fjcmHHoNTR|CytCcxTtIk?{{msgyv?oQ<7|_ly%X@$~ig7m?I;Uc0gToDl@e_`@$odVZw@!z|I`*0wmRzj@VmGm-Ov~f-PFYkM&gG|TeNKqc}){k z*mUTGqjuZipnI{=P;R^+!9f^38sk)* z)69vr{Sw>MZFk4DAu4(%W_ru}Gl%(>m2dgC8-nCJ+fHM7tz#l}jzpOrkjX~nCztFT zQV+&rI_$91&BL#Gu$+B2{%6x^+gsZNrd-BQo|XC55&fu zQUdJRR8&6o43QUL#N4dGvv7Ok`unH=pF)p|gh-RHf8;j54_Jjg)U0>vXa&TVk9_}i zzy2{~jnp7I@P1@O;dY?r*oZko0!V8>->ldOH*ELo;R%~7ZhZ^#8EkO6f0*INP$VBP z1iOY9vw9}5t`41WdsUqNH%a3FhmQ=qh*N+kmySC=TqK5AuhNsQRJ;6{fZbfsUx+5B z?nC#qAd4=*?&|3<1#zv--)S3g`G={VC0{&Rz2MsGI(38fcbae& zhOjWo0COsm(;~IFaIlk(M3k8Z#;o}6j+85L8*Pv4r_=h5D0(XH_OJL|F6`GmM5}Ll>Bz8=!K}p?rv@@!siL(rsIg^fnL>bHyorK zq!mJ6W&Q!OF$R0$3$69Y7t(ms^31-G96XUH%0%FVyZx8?lh1OeB&~9-5rTAFGkaVsUSEC3T4(-#6@vx_VtCvuvx&ao>Z)z6&EhYqluTPn*`T}YE1dterUw0<-IuzS>|w0c@>qn)+LTm&-C z+QxO$nZ$}C3LF<3ZM5bHPgG=6UOkbatsp0wW9)u7PVFM$B$>XP$n3O7#EI}eRY)&L zOAA8IVV2>ti1rf!o*`a$fvELKJx5=}iJG>fu{_X)yXmuD3|(fQsX2S+2aTB-!da~8 zqn2E0qwZ9EgHm>LFR}Xm;j;Ux0qZNs1k>ge?VSBAXB_7AlAzDx`fFuzRXt}n?RSIq z$CF3Jao1O-qNwRA-C1b#0XsoK($?g0vAFJQ;joQgld%m)y>@Bc6BRv%o{sGF-S1hkC=E; z%*VMZs$)&e(|h?n|7pNgg{!2Nv|!ONb(iZ>ZGi^uVQR>slJ@X zs1_nW;ho427IS!S^AScCP@WYBs;7($0tPYquXu+HGw)n^y(DWr)Y%#sUV!?p%?6OZ zl5xN!!a)6@(4hhTl8{vF#{Ht{&OVVi8i@G?OqOQwx;yo^WKWf^1r@ej&&m2da&Mg; zHB}s`Wd!EvUHHSU{(XO<9&bFDnXX5dN6t(`X$#9Mv)a0(hn(JMk~T*F-u$DXI&%ag z1&)II+{>SNQ^=)#^vk{+Lm94E!Z(gTX4-cRx~ z2_E71xLx@D;c3ElVT;Gk{VQ(8bB^(&&mHHC-br~SHNn`de9A6EYc}#rt||1N_1f2^ z#`2Fw#zn(~cDk-%G*!Pgg1Uq->d3f=0tHjvPBFE?M^S>z{Vw25-4&#+t_3Fn+m}j~ z>4kQAeiPG@Al}}~IxP5{@Ju8^e}iC~cm>X^)o0h`XMHOZa}|nrqt9=7H&{TI8Te;= z_)vxV0Msr*rAr70cbD595+uZAGE$CjgVlQksrxD(GN#5WZziH*Y*8^gRO%Ml^qMAn zAk&-Y@u&+AoDl_a=vB%dwn_I-P=DY&oGwu5QJhfWL2aa& z39#>T0dsL5C7MgVYO2t%f18Q)QB;)V?5!|6zD8=E+27LNI%}GI3Ov=IpLWwnOY+#|eo9mT0falg7XER_Dv=Fi^T;~}L9UVPI0r`1?dI1t3gR-$};FaNn9{)(O zjxc;Zy4fXZ%Z=VT^%`%G)$l&UEyi9B#Dt2=zkG#5g$K#)Zm;!zH>C)IjQ-LzocD(e zDWb)YvCF9D`LSqbOO3l*QA4St^`bp*6JuDhHv=Qg=+hLhR9w#8wN3@0qa0ORROrr6 z{ZP@|meJcKU1c2+k5C8uvfiA@GZt|A+vdd*zbW+Dq3^cVO_l8QyI}m+yHy7Mr!_XN@?5HtFXet187Fg@TL<{UY9tB$ z>|iEAI0XTZd(1vSun7ICFTYXN2YABO$F+d6V*WM@!o}CitDc&FUIJY=)ocs)L`5Hw zsV{I^s%96T*If1A5O~w~5B*I(i^{@b&n=Qnv|4k>5|RBLV&f#JMPSqX37y!ZAI?7- z@1i31s_L*(38hMsAVa-DeZ~}j$=^jiuT9^E)AySBN(AkWn(u7h$+$wX<>krh4OCTL z9K^Ak4i3T9>S>fcXKa+6d-z5bv*IjI8hkkS8nR`8KZi(A`x40BD(RyZ0l;Z19;dt~ zGq}xLy#bUDiUo3D*1>VeS|{bH8aINVT1J*I_Soh-J|#RsvN)6Za_8E|mVw#VY1!0&QcS-H7x2a>Sh zAF(bd$e=Q0%M_es$a)0aFWcF{XH^GKXSOwy$(-FmXV32CSIrt`^t2ut%PbNkGwvR3 z$6h|Dr|ejjIi{7QTzBIZWu4*oty>n~EPIB;@!bMKkS!N0?-=zIa|}qDr@vNyKrqj7 zX_Q;+@7eaD4@h>e__>SnTEi@9SGfmE07}ZK8r4$uid1+sc1n1y=?vypjNY?HdrV?@_AgI!C<*K7+UfglKky#ms+Sg{32+*i(G%U0=W zRW~nV^$#1|tggBr*rPW3@9K5CEP=#S3YxSfv>Y8)o?8;MOIb7eJggPv1#VWZk2Mb9 zSb*3^B>-wpODLkE-MAWeIC!w915c^fauyS$V|@9fICHRyv{Z3>X&mrTe%3;JK6ZNA zPBlb);NVf}l-eH=Dt`($Bs$AD9L4&0*#kmE@0v3F-MU!hX1KJBErJ-wSU>o-L=0|+ zj5m2tNcpGw*d_%Z_4zU8K5ezlcreGBpMSD+9sCV?f3WC>>+!!w1(+THj|oCma;I5Z zIoSTBUte7Q!TkYeLCc0wx0F`!@bHt5Hs+x%TE8|T${a_NZ7RNtjb6CWSXw;qeAFAc z5p0m2jJ}!s?ar-}i_ckYEH%GNm`lsmjtTMYG+0v9sRGVwE-t29r%~>4cBOtwdH=8` zy)gK6m~|TI8LbWrjc~N8dAs|(ngZOFm0$E>9xpUr1AyM&r=5;)iTlUiiB=9;D+zj; zE#T1`5U#&iyFp*w>m+7bI>v|DH#pr6qYAz;t}$|~(0EzZk#qm08Exn+9kDpH|=ZlY8 z%62qyqa(jk@?0Ap%10{R9I_Pn;6K#a(m)R#E1FZ6HTrmzZ0|+;@UNhY|HIdO|I=|i zEdT-h9uu(--gV+NbpVr$iDONcttwkKRsXrRL~gemFU{^Wgf+1}zaZNjs++ZZTU;X1 z8VNH;8xeTI>InGI_3~(vR5zygt)4*L?ARKiu!HqMpZ8{(y6gi^JAO(6e_n*FiH=@= zBrZgZp&_YAKc@=Q3Z6`*LFL7z*TR20uBCl;``RB{M1uxeXq3B&nG_7nZnj0#T$UMp zKT2PH@%9fY)qHqtrMccFOyzp1r1=f=q3_&|m+rz&pb~JtVfa1{d}tj#pD}bHHVx3QFdu!jI{Qii(cK_P5<>eQaXR!;9gE9eWR5EG^x8!d?+$ynbU5&2$ zG`LOw68q)ngH*f_KM6d21E@S^v*g0JS~ReMu=@@gfcHXkbo_ca#cltSSApSA_CV7N!0A*T}_0s`Dm5kDXNswHfNphK=ye(u#7j zK@E1{HEFV7tPbCP3hD|U_mI5us6Wxdc-5|s(ZRY61Oj*2w(uhdR3s_d(I9%GnVMF| z+)y?(6#}v0Z3nLad zc!Z=#&hI5hu<0O-5ISPYKYknp=Oo|Ph-!i!Zmo6@PXuV0?A0NKOy*D8Hunibxm&q7 zxf%bmf)lp-^DkBvj5sT{iqO#t&uhzfzWvB_urcs`x>OLUfMsv>Ra|965e!ch9`^e= zkY#0EmQG7Bq* zC6}a3kA{%tmx|?I#TRA3Icp#Q{i?I1*9Q-jznF>?=%7=Qo~%~WakTp6_uxeIzQWP> z1gD{;3}vfwa)EaE>W`@5OthFJ2nz945~82vQu4{{N8xd6Zsb-14SnYGaH$orL_x8e zW@L3sjLhTiQx`IA)2f=L)PxNd{>!`SZ!Z_xufxRPI8~OJ$?1i2v0SGU2ODh_Xx%0F z>IYNXhTL&s;uUKck(_kIIjY|ye|?Z?t@{y0aRhoeN~g^`CKXXX^=TqReecuU!-mZ5 zie5b-t^O+@{9&_xZu)Xb%WpJp1OdvALt^!50xV^VYqofQqn!w;h*%OIG9^5X6;+?T)ZJ!&X#3 zQxw6oh zXCRi@?Wpp`j+jr{c^}1(TRBE7nMIk47paET3&gmINPWwPwcg6Vt!AMZ7bf1LJGf2O zi96bf+6Vy28g4W=_?q?fP1gGn0z9|h^a8EL_+xJF`1?#K(HLOyOX96_g6|R*Zs}_b zo(gW;XyOON+465GMbP~=auw=FK_p39(*5ZT=!zAn99VNfE+Hzn&a2 zHr;3#p#*?fuGi`YlVDU?@&}agQxcBHVN}E}p<{#DR7Kv04mkg@D~DxIFw- zimaowLKfc&)r|&x@`OFW9VI-+lwYviElMqZq>oZsf^QG#0rx|{y%!FDw3F_oK9zV| z*kx%u!Ib@O)ls%G_8ff6#z%sKJ0zA=@i~AFZaRB&u7fe ztlnaBKc5#C91LBn!ld~bQKk9b^bT!d!}VHANXSQvo7V^bF^*Z*!_Et3XHw>N7E#3y zYFKEWjDI{hsO!fKm*2*hEA(vkfaf`Dp8Ks){XPl~<~UR^1-9P?!ZK6Am9L!gv@A=O zV`ATaH@gw%7FcI4{vi2b_&L@F2GsxNT17|+>g^F`CZsRzc^EN&91Leoiz_mf4=255 z@w8l!0>8LdoX%&5{JNl)`%^Tl=m|0Rq6zNdEcLafWL!3iws(wITJBrnxLBHx>}8XXIM@$RrU_J{BPKrz*7I~ddl7S@M8<)YTWgxGsS6czj(>q zPFTG%(i=JVOwh@}^R`C#_grjAfcEv@uamZNFf-SB^B3mZ@}m3xEG_iqSpuBxuU5u)T*JoV{tnqx>KV zMeb%oMf&d^o(+%f#KVX4jrS&e%q}tGNkI1SE z`so*ec+DR3Xt+$_SCl9t z{(P?pd?D8(f6*50-tO-wYs+_MS4iG=@__OOI!PpM*(}>b*(rNoPs)@Z>;@l}OnHad z#RscEoQ&e(Hwy~CB=34`>;FcK{zuep;NGiPw}L;@Td*kxTi=u_qUApjvqMUH-#yHt zhZeHjM}0zzvNC-x>-Ffk_$0qFq&F)m>^Bo;Y0Vb#N%!sTO6PT_wl~`DWSnX7`yIqM zC;IrQzlvYLL@;dBs@jH64sqHwHicDVn-@kzUlXB=SF+J%X@@(acE8N|uG(41I}Z51 z8M)VXOe+IB6IdJJeRHn~aj88?;!N^U|Ar1!80jN^#?|DZaOdV|#;MS(SDK{D`RDXd z~#RK88Ko2F0zGL(b7Jc+j_ru|sFVtv{^8?^sfaUhRN%U*`zeQ9ApCu(*pOtb& z+@oDt>U{@s^;}JSVSaLXZ#oiK{rl#OTg*mvy-1a9bgx4>L;7T~`9pPii%T-shzLpg zYXRDNqn+Tn=lhpW8&3t0?hDSBW=Fhj8!=fqv8M3NbQklbHQ}VG)C-^OM>GFrZm(bM zG0x~Lu@~BPu^mZ!M;{;ZwDE2@guW@H%&h(iF6Fzzk+SyE?k7*q0Ehmc+im|}@$CNp;UcwT*NI=gd~xo8 zMxQ=?y0W=`PhepGS|uXLW>)5pigN2-k8HL#V5(8G_u*CN>8WeMOCN7+FAgC1lfQ<^ zCu9@N=DFw2O@WiiWz?@g+|g+BX6Gp&+qDfcVy%bg(`XB2d{xk3CT6V)LT_2B)>U3( zFp&IEBG!ei42So6Nvb>lS$OoLjJ}#T*bMwkODJ$A=z-(V=V(tpU)4SA$qN%gF(o*XbVwT@A6?sfW<_i_0^PY#j zK&RW`!*^92{k5N67#%W^+edx32+8X0#M-oD{CXejJ@jq+z7Rcp!5E)I+Q;U8RS5sF zcE;mw4a#Q12WhNk^7QCrL)!bY`^ZmgMojstt-(T5_$|T4C?-Xpf!+4T%tj#Ui6*i5 z*|x(PBQ`$1lHj-1UT_<_SxF+5^t^meB9WrF+l7ktj|N=RDQIX=LX1@Wr?bN<#Ks#f zX6JWbsjq(8S&3|SUzu7GVbR;byB-SuQ@dqp{FP)9 z?XNFopEO$*GRmzVuh8jfynP-Q^gsTR`OhYHTK>tHN?}MNM!we^d9~QQ>0M@E10pa( zFewmsv`{hfzS5?_U$V8aB3NWg73sceqrHn8G^MQumh|bG?6(k82Xv<^kI+)d@Q(m9 zCiud4$KT~ipA!BJ1bT!!%Ej#rG08j*IXmR9;vEV>5e~&34uGqN|A*mxRBey3`CXB- zY(Y&_O8byP-x;w*k~#Fq(a6rI1tmpkLHV$M90x5-w$gjg8_yjR`EbF|*r5B*P5w|y z5u>`Vcn_D{g?ts#>)PkDnVQJ$p9z!sqs-)5OiT>L!t}__QS-c45f&{SEIJj0nU%1O z8P24977(fY?ZHI-T6LRKdIGe!XmdFWzPCQf%*e(5^{7A3ZZ!A*mYOKYZ7iFnRg-nv zn6JI!%)joej8JjhHJmpe7u?cYkFW5bqgib>OVvT`0dDTNR-%yJOs(1)UvpF+Jincs zDk-Q4-Ata@e{nulHI0vX^GrTB>htMo+;PzQ^-r}^e%bu~K~42fN$J>?efw`61JBEs zIh%Y1+4@9@#v<}}vG6w;764-S(G7Qm<{N}Q!cxR*5`R`hW)22hY6;jHd;LT!Ve74+ z@ui<4C%MCvFZ>{UH0U~7s{u9AdTe1KGkhsjlg0j~gsdD+R?li5b#lWaJa>vLn@)yt z`8Tl*#Buf@1J}myhd2?7`2+H#!A!AHh{s+8J?RWec+D z<};D|4rT|>fos5Q+le26th-tGL+7aO7<*B+WJYY_eU;; zF7|(Xxb|36TFwHsWpqkBNlerxjTn{-oY=qm{{z5g*TTCaZfgRR}+Ew3#oB0Ud## zdM^HC<64R$XFT|@hq&~!o@c*=hoR#riiVxBM(MZZql!4hn6Y{_gWqSu-09S+2J}Yz zK1qD`>`NUB^vD0CJR?#6>Y&eeoYfZ8E_{yLDb=dVLOD>vt~CqOygn_{t-&!4w5*eJ zg*>(&?H-P^0R}#g;|mREW2F=aTjR!Z!pko|ML0l-%x`(9C74T>Dp&Gn2{OC3)cmaZ z(#)uN-FKxLn+w?*)Bk;I{ft%etNQvM7@^Vh0VVrm`?cFw!!SO|gA;?ACf{F1{f389 z&K5cwmtD>JwP52Z5w*=_F+i#k@m=wirv|cs`3*PxJ{yGW&{t}Q(^s#C>8GFs-iPsL ztO&pafShk%_tip-ckDIpKdxW8es`zWLgG5gN~^tL`1oK-3TU_d|03x+{Hgx_e`JO$ zqs%M&l0Axhal^I8MMQQ&uI$aVlDPIBiEDFhGP76q-np`}t}C)vs-MsI_ZPe$=W!nI z*E!F5jQS*Q$%M->mmrVypj-y+%RjfEw!yt8zZ+65FH;Oho214zu@bbTMyvh@W`1>d zCg#e@u1PZO)aCs7`9SA@96-EmqfWXj7;(rX_i0GSpfKqA-}ORgM?UqVU47u?=;6if zm@6CmkGFW-G5x2WD=tCbKp1rKA9`wum$Ko`f&7mxfZI!#{JI^*mG6oC2IKZ!ZCELm zXdfhJYW|iUAp%da03W!1V|}zdwfpz>;#h_QiFD5f{oXg4LRs3xpQjYv2^0G98@!XH z-yn5ni2?1aus9j~**2Z^=prCB@Y`$YS6KaZi+IY}yfra}Zp-c?LN8P!RDfsXpe$FT zzmYv(!uLOL)@p=+Y8O}{Uq-2Z%*C*)g@2&&aR@LEA z9KJp~#S_Y1MM?Omb|#P_vU!0dSNoX^Hpj5ikm7kiUOGkL65_Rr8; zTJmx>oGq%Eki~buHv2h}NzvUWiP#wE)4rnu<>o9}7Ix~Vxlne2@%TUQAh9=tJWC2t z&+jhB=V(BSwC1?5t<60p&?i}5k!!AMB<`7<=HD&d)l|P@357?>MVA=18~u11m*NLX zj9YxFzmtOLB5zM}lIcjkdtbZfQ08d%95%he0*2XgZ$elvyV3i#nIkvCE3J$ywia5( zk0lhvLBV|e-WusDtK``%=h3ezU2c*8-)ej;zqG8N&X*^%`s^8I%7nq?2WqMQ2rFm1P#!UrpOXQRmJK_%1jx{HZ0fK%}-T^)SA@VY{ zLA#!hJ%=U9(CZPZ?`84jBW89L@I-cyKI$C@@L1QWdhf0&D0u&eS{>WO>{Ka?U_9;b z9_~n|ON_b332lsLHmTQ8C+ zx*!5Avw7|MQSOtO%yK^;zLt)^zIiRP0TGj)iX0Lc@zt=xz4^Q6M~;Fq2UpqNkL64~ zJL%ed?l<3))Y7gAgP%5qI(y_Y6%oqKq`{$flD2Wg8}8X31`)~+kXHTH!hJW{ev(u( z>;S{BA)k@EHp0prx+fmlk?s(3HJ9zMux8+{lFIgiv~Ku#&DPnd9DHa}!T9W0G%Xn@ z46&aGJu0vbDwY7fWmDJrNRsd4j9N*~e@>XgscSp?fPL4k8V%_5f(}1*Tu-?r{ZKDX ze71YsUw6{sWlNeCG|BbuptKa27TpGbKGeOMNc@%iWA24OJmc72B01QBYf<#|$$PZ# zCnq3)OK!q_mk5*4a+ZD@M`H7uAK@T{m^`YiFG$vl3OK|FKTEW3gtgXLSBGj(+9kH{ zWPQ9EpEZ^*|HXe%xa_k3Bfxz7eCe!t1%7|i_0{zBP)h8%`^#Z5(3o(0iFo=FREI)6 zGcnYAB)%HK84NcW7=!Dt{1itm?B_O3mpszG0&pn^W3l7UoD?qp<59}wE#{D30gVao(pyNWEQ8-93^=iROU4d&=ZyuP`A_wfbRMTx zfBlc6z-x;l33B!zD*qyO(*|(>!SH(eZ(%<@IwO77@MCqPG~Z zf#hR-8Kvo;3^@2Or|o7ogUn_{?_q5upme~;y+~#=wuw+sH(j2O!`-kL*`9JrNHrbe z9$t(jvc`r6>VHmuVV00H&6iwzeNe_VVn3jJVfDpMboQk1fgEgZH)-5smo~_* zIm4#}S^s1y3zt%50ncy$c@1j8*DvINup`GZyY@QiTedQLwmkdUwi#zPk%BUvpu(}! zW4pyOce;a}lL~N+oSf|4C zGJ(Az*~yi0WXsX(lG^ZAYU|2iPWv2$Yj*fqmL0G>dHd+tCtnmfVn&YR7qnw6b)%c| zwbe2JI}kdQt@z9ECRM{y8_H~&p6-3f>)`*09B60>dFF68-cWsW@zrV9-*u%L;r~L* z-xFv5wke-KGUMMr#Qvhk5Lt3v(dn|g@j^~yVPe=8*`^Zh}#w&dro_qgO( z?qzS?FUaov6qpKG*fbkY}qa?<-t63 zL)%BZNsW8$mf1*?GU;;Ze$@pWw$UwxdO702Qbs)cN+`cq2EQl1#T0dM zc8$$}HTp?T`r&+8ncXheQAQ~9Z-098=BFY_y%4>>S1vlrsHUT8D?#<)O&#YRCGN*k z*uaTZ=+ewaQA5rd!Vr3!wV!S}5!*X3aLGq^(lNbQH5Du68~AM)U};ZwbaLtmb7<9U zv%gRQ{LB`u*!dt>+#rhOwCI@$^?!qU?`3_w*<;wspd>UrQW+SRTTqWw`P~F2yP9Ng zsTq{^>3!)4zsw2?YkRnA0(;A7A5zm^pHCJYn9N2ow;xrbi_L#Et|D0yG$FKN)TDhU zZqhpU;f4uLs%joY1zu%rYeuZY#Ywr08w0Y;tKmm~;G9ilTV0|HGr< zE;_%V@3oTdw1ID*S-fn^l6jHhBwaDq$T*xCJvOAs9gV>^3iJV3-P!4m`#s#b^aEJ& z%FLv>R9F`sXp8x!P3JT0JNP!CqfFVMg=wrLj@Rx@Gg|rQLx=L!*?Xi>b~c2FCITgJ zF_|M-*Pa<)9LTp)F8pSA0oqzIXhEcDbVz4;Q!MZ>&%tLJBQ#A#?5>ImxKzS8CeC}) z2sMAZ%(Xams0Q5W93+ZGB`hjr|}o&ePTQKPg*R(<Q48>dKo|OfDywtk+M5n-URib_0 z5}{YUtQwD;EhuZpri6CqKbc{IMt_qw&0&oK8hESea!3DTddXI>uqdPZ%A6S!zX^+#{hEy+<&%TyoPI-JNeL}Y#g3BzcDn> zycqViq+!ZX-oKy$w$rWm7$)P6i|xc_A3LhH!{tRnwV-QY)Gl;o&+I3eJ_r>>I*n+( zMt_d-K^TxgOMC0XuI1>I@uJ{AdF++rqffgbvDjToVt|^eGeza`AgXuU6B`0W5;U?b zp(>M$Sx(=bY<&DV#!E-=4lY(8eKLoQONTHZM->*AL#bIS8gunQA(m@egmD(ot)z8V z81lmF-1`^b0zm9KJU;s~b=+zk9|YySl}GbPT1O_~5OlTj$|h#X&t0^U3*W~o)u+o( z*_W3RleUpJ%E?anAY{8aiPDfhU-b=wQ@|Ft&y*xyq=Q5A*Q$+q3=3N3>$~hW^YwE8 zDYK>{iYJYIC>u4OyE{z@Ur{bHvV!_Qt8HX+pleTm3@4+k-xSg(BuXz$2iCg}=6jO# zgn-G2w6V@P2Wq*Km$nqS0T9-ktyg>d12U$Yj%Re{;EIpQc3*~db51}`MzAK_htNTB zM~W1NWgA{9Xe`O)^w1Pua!{kb-xV0!?^a@zGO)P8lkHJq--hV799Ibn*t|2n?n#J3 z{kxpxkM+hUfSH_99#Si1^eQY(!WlO20-}QUCS?btwrofh;efV5p$cF7e=TuzIYS8+ z3e))HDp&mQEE|CuRu%MRB4i0rE{CvjAf)hWA>zV)wZ54EdneYdb(H|Le^zzlM6KMw z1oL5<(wy&ZJq#OjL-X*EH-ZOx_Y*VnYH<^~oak(eq*}ed=i(u>TZa-k4H$dX;susR6upDOFL^qKxzJ0U#$?qkiTEmPC>OmKLrqJ zh)-5R-E$y)G}{hA?yBv#_@`4)Qe9Pa8d9zx=n&_+70x(4*A z7O?gP0doMw$yL0wBDk7~r4k`kC9jfdizZoUg8~ZsYD>&&Ttb0Q_}&D0$Bx{u$p6UT zxjxrXRpz8Gj7=PsgPbQ!-ci!w&mXo!NllGNuGmvK_5Q)tN1tqoVp(RqLx+y>gZ?q! z&c=N@>fR;gy%Jy|0tW@GU+dc%>o>g%D zXE%qv<-JeDoj_}HDEoU6L79g4)fLmo(GW7Ogc!v=#;Rp16UL^K3JOxu<-V7E?S3s< zT-VckJEFSuN{7=n&=VEs%&)^w$kKv{QwaFWoD6n+?5!~XpNlI2cx*=D%S0W0=Uj}`YN3t zb->QrT&76NA(;ph;QDAakb#Z);X;UifBe{`GbFV~fI z@ajOk>(<3J$h8HWulvyAO{U6Szm)VGn@xW#>EG+Pj*4`-1Sep2ky-bw?syI$tYU^< zVLY~Ac}Np?C^+IU$>j6MT9V|IFb8+i;)n5wKc$o+;gnNg5x`tPGMGWb4ho0#D_>4W zkhw2LTP0Y%>PUT&-mEB+e?uTLQK&BZRD`DjyvcW3R!SDmyFD+PJRqB{1A}eVHxajG zJozd`y{QKFh`dF0W@jV@NSKi3?{}*Gy6qTm4p%1)E-3&ofD3CFZVTaO?UR=tENn^9hws%d+wU`t0!_- zDQC^n!6G-`P_?6e%wY9`f+?D4VY*9%@HYx$_k!QsvS5>v8A|og-`kVm(OLa&&FR_f z>TWr)s`mXM8^B2-o7}(a_zLR) zhqw8Xsyj3{{HM)Cr0kDMo$VW*04?UN-hRkyt_7rv*8v7w#Dh733iGjX-rT_)yJLP@ zM%zZuNOxxBg3afcr#55#H|326dtBBGz{6&r3{kaazFB8;Gu%SH$?gmNg&ezZw$>e{ z&AP(S87=b{s`JTy5|)3*CH+<}1O=|LPN&wh@)O3NgOQ+!L1dSQCr)(9OG6G?=V)(! zw(8mEa+3;O`t}M@aY7o(_?J09qqkgO=4A-bS_qWtDSM?#;Z=y6CVOQ&TvC8OK!P{y zXVh*s>Ej{zlE=(8r{N2%yX&Y&P)Dd<3C={R+?quou>3CC=6U)eB9C>d$ksgTFZTQP zZ^C)M9sBIDCAASrUd4?0!V`lFL|8=hcevkv|Ff38ZOWqN1I=i`y6am&z?Ad*`%c-P-IX`- zL|&iho>qSm?&f$1pjCglB%KDg%TL%zt8%C@8!=p;+miM21;{hG=-Ot?sX4q@knDfr z*i?1=ALZQOnGf8LIq}aY`XatXncn!fLJqw;Z*MXnWimTbGNC@dZW|%>H9MZfIIc+4 zTV>JfhmKG|w8ySw^&;R(W@VUt&6>WE_s)T_-n{$hY}1Jr zaX6yH9V=$`2|i)is6~4IGTvmNDRKBPK++yx^3QN#cs9KRQwR8NB~&m*F%3u!vK?j; z>i6PCH&{JH%B;zMgm+h{&z!uB7%MfYh)$f(1^=LgQE~`TPW1gk@+X=c#C$G+0Bg~F zja^{vA*_;ICYts9_>J*HLp!93-BG=ev-cZchjQ5(|310im+8tU-mAGw&Kxw^#540G zCU=C74KPm^cY7k3bkm%gbcLA`$7wt{d7T>WbrE`A(Go>iOw3w$*PXYd*ptQ)Pc^X=o6uhp|osjGRB>C(-nSU|J7V&O(T$HYDf7gw!rc-Zdg-JC-+ z(*_zRPJahokN6HxUt6gZ$oGl4yT?3AwK#d1#dXbLi%gtU_LNtB$=!d4bNPPt)1Vt& zYB^qgmIv;2?`wzRfp59wj4^iwelpCT8 zt}{Ka0Qc)Q*T3=c5tJ^t*+E0P3x*_QGL-Bnqc${mdcJ|lHP~C~1<1`m#0P2QH5Hq& z<|4bVqEaT@yy<($@tlfYGOe`F1TA<+&#&O@2$fRpQcrBZ-Xhn8FHmA_8lfy z$a@TTzaCBNcDkSIOMm&F%n6^#`%a%~C9bq}Cu}3e9ZxXUA)&N%CC!B)<3}BDP_Suk zFm<>F_*y&VTU9q?#gL)-s}tGfj1wXo*Zq$NFwsy%=y+IN)7`Oo?UtfSVPKm$D_Mb) zXRKHv3(TevFt6LOY;!u1#}PB>t=m67#YbA7{*$%qM?Ied+^Z2s!{gBDaaa2O^>?V^ zAJd@oAdR(Mlvx$B-bu zDj?3P+=ff^l}CVrb6-)W?^?#`I70qzZuGAy4%aL^NT#jlS*>-s7lfCP?z$08fJH`J z5ph4>_$f_CRaY6OU*t*|&&9zQ*YB+&2U#DCXZpDP{GqZJf3sEKPh^Uz)j#0!EnPU%b4EiSl`;tFZF)jRDDD@2fvJx7lGVccv77fd9GyV-GzCC;qBQY?L@+5Fm{&4j(inU0n zY%{JCn*^Y{H3rZbAY?ubE&Em46bMgzqgqUqX_;}}T(JN4v<#2~fnDs9{w)O54Yd5# zm?4J<>WO70##c@+#?;2L#*n2{QYOka-}9_Dl_4U1&&RI1gdrxff!}U`=L@J4@wJTJ zN8KIusoI69SLwePE7K=x76YR+-9)34XndhuW{PJ(_rbddrK-)sXG0U}t?8M%bL3#vqyDgPekV2 zSsL|7T~rcJQ0}UlQf5l>4Af>YWU!hQuD&yRwXlBMLh?90j_VaQqEEt>-{{I$Yu=Np zo+r^ed8=Tq-P>-=m|q`7J-ilisL|}0?2M?>+<6ahKVvZ;LRG9vH1=iiBxNV&-c{De zKDHT1KikAy?@EC(CleFF%pA6Y@jB>4KwJg!!>k}IR>?{cZ3ja5LY}SC@!#ncU-$gO zRJ_ePq?Qo>+A1nq7au9icwqu0#Ld++g>@1GQ_LBOCM5ma*qgxInZXgnrJ9cV=PaLNcye#BdX3LHI%xyAJFY9jnAJ9y53+e3eTvB zLmof<1@avHgZ;PhBj;r&16`t)ezcI`sv zfowPoeV_!wr0q{VJRRD|9&rJH_dWS018L+27c5-RTh)7A?`1~if&4^X+k%EnEvi-C4m8iv*6A(V;%=hkXrSh z{F*$h?Vxs}FX!vA(k#h0aW1lJlgdEw1;zH>s7K>nAf$(>(olXR^#60@VmA} zRcv^z@|$h(MbMvx>~jG3yU}o!Q@9#z*dxpGZG*Ve}YRZ_g^Bo2DwI5>lq$ zRwUE=1@~orU(48e!y08p7sk7GqfeC5V=C{b?8{oo0Kw6tGt#%}DSi0JFdG@aeG4wi zJDpHj6N;g~rX&B}aY+#%tP%hed}TP*V|U>K-|(xz z$tMSL`KAfSb29|c`MGHf8$BW(wE{u~Ld757)nUpZgG*KbJ3`lM+}lMxEf*n@6H{GN zAML(wKn59dYFWd_CIVRI5Q=aPS68+umNqz5R*;x{g+*6g` zICbyYELp!Ax~oBbIo1w8%NBLiR#B^O!S?{JxZo^dw)udk!4(1@s3lGEOm<+_tBcV({~-) zY|r=+e)u6Q#LJeJK#x+R2m~h`?JC6RPCxf08F9N`a|+Hn%Ibb4O=2B~B%|Tuw3?3< zvH$V?Y?L+rx*_ECb6R+^z6!Nf2}9snt(@l0sFhn3Vtkwj5m2T!j_vAq+YGBA1?@LU)>q)Id( z4_32XGa_7$A zsJdt~V3!;H7ujzyS;8t{`ut(GTgqj&$38^3eum;$J*WCHNxC6eu)*zCzU(tIEOs-7`2F7jO?_jEJ2 zVVd(Pui=yB$j#5!kU6lP~hZk#OWjIDEoAQ8XZ3U&BamZyfHeq7# zR@FGRU4dWKjl&tMI!29jBn*tv!|MUbyy;{)p^fh``q!!5-vk3$8AZC0!{^Bh`mRH> z*Dee^&YiSeQ^{JtJm=OgUIKSM$sgatE{QW!_Mx6cM&?JdD!WyAXH;oj9na4I(nUsq z!rJ%~->K5<8#%K-y$T)Y=kx1-br)Q5DaF}ML0*b0Ivq^dOlQW&e}-S7Ws-y+Ak5tj z94I`Q_rzD9pZ7A2w8S}D17oYI(Jyxjdl1aFZ*Rfvr+(%$Mc%|Qt4~DEznp$KO+sDn zv=hCgE75sTAtXBWi+HRoJe|a%t%CfcNAK^{ITw+Yw(p3V^VhLp9T%O-zS_}l)7zo~ z?OZ9J3l&jzO?g3Wt+^^%zYrj&t98>)x~+H~nK1>i;D2xzQf$A|6tFUDkRNu@zxi@l!?Zv_fTbXRa z#5kR%30BOYBXL;EhIvm!s9|Uoef%b4pXM#59%f}b{q!Saj6{l)ir7}yR0Y! z9_qHHI00W(`RT_?okCNc*1veYemLhoJ6~&?fzGAeSIjx4!c>rMQS!Hj%?uj^RneTv z_`TBTQ4FrnUxi3f?Cm9t)2mE>IKPe}lpQDjH*K=IO*f%zeJRlC6^Tu9xH#;=YRGP~ z9}+Jg=fBAO-V~&R&ea|sQU39;e}}cMATIs1wGyl7*u?hNFaK0QRu;dhcDs^sO& zN84#~y*wD-yNpAq^^WFQ)U8Le)gKr)*=Yy7FFLI$?BOtsX2>3aJb1PqPV#olB z%$3^=9fwd2u_WXG5{QG|ulgpTx)H4n(YLLlwYwk0r$U-GRfMsQ-H^X)a*JiKOk8kw zpSs=dyR#JE^u6p5r^#n+>75t#j<|zC11lb#k?K?kLMbJ zGKXky@kX3X6;j2`EQ^--ETb2sq4*hmcZrby&ZeRGd!Gp(4S{$dmv@ru*BC9y^$yQr z*Kc?2MiNpSTG)4zSy8Ip5QU)O{XrR($^cl+e;K_wiS&ZO8^fp8hThIsbxS=pR3eOV z*1Zq{ZNwWvEQlI5WOpv>@jhlmffjMJJWfuU>U!sL00&-EI>??TsqOZt*|__UF>h!1 zf^y6|Ym}b=1yDUS;6l!&VmV*_f42mmg%EwC zoKAhdcFYVWRIDP5O9ntY(Gb~om^51d#NH7#IN8lzd{5dO9o{Q}ixBrR+l=b5(^Wr-{Y+~03^zHTT+Cx+K#R&J^hb%`!i^Wtt(spO- zROmi`oHssF;jSj}`Za$Jg{l5u(ZMp_= zGe&vTtEa1F0Ln4&@?QrYjVdgg8WzO_gBo@P1l;5Av3Q|gBbjdXcR;=TyiSO+xG-oyS}7krPh{+Jb7c^02GqoJ^|8ksp+7#$9dHasxR%^wJ}M?U&2;2O6qB5-3!-@%Q!e zxa_}*>`TRz&s4Jdfi>dd*Ow@M(l)zoXVq9QD21@5u3KT&MQ2CO(b>7nw*Q`9gU=z- z9PXPba#Ea(QI-cA(c+V3$wiMir#?t#bi#FR-8gDS6Qq|hcKf!I%2U#$c$sF`a1|N| z?8ac+)l0zWFmDW-4+OLhf=50yP8-|fLgKXOHRAArBc?0QhoVM-$ix{2PWaNttp`(| zu(u`tk-Z<$prT1GW1Lsrg=#Iff2B<5cr~<9TWQ3p& zC#{pKYq)VfzlLc%Enc@ud=g~h75OHaw|+i#*$1XYV)Jq|gz|;A%rOuBt(>@^d!ij4 zwoTZuFc}>>ex-N%+!sz$37uMs1bF$5mx?*|u0g5;rHB(|ID$sF9@CqPX(eU`a56J| zst>b@npR$i@ac`}dVKN1Dq=noF1%6x(h5rJyGpv=Sy3U zkNg`jWcy_>lDnQ}Y&gGgI6a)ewX3&V7j9lm!ay}S^-+lg=EbcxR=(OD z`+meE5QZB}U7Xv9J(Xwf%%r)$c5;mvuw$3Sy`KTdZL$Z7dcydqzrkQAAlE|Ilb6tj zI~-0QSx2Y*G4m+P3c1+znWjbZSi;*?XY+t0&iYQ>dxGy{Eq>$!A4W|J3I95K$3*%?I8Tn12_Wpx zJnvL;1cxOzBL0fcFHlEKq_X*GR5dW>F|~-i6kEZZY~FYztdF8?7A~vtWkBI^HFR|s zikyth@f8_<-lXv{HlRG{Z2-j7gmh$}$hjg{)^%E*M`aeCv393lP@L4{?PDr|P=MP$|+6LVe58IJFC4q+#!jWfbUkq_gx9;Gc; zIP1POCGudH3?$$J7dDWmNf`@J?t7ZPu=1PnWi1i^U#Y`T{O98#**D|1CV^H3J-&X~ zBfZD9l)^es^&9Vet&-9l5G)w>`cB2$B2 z?YuFz>g_I>sG$R`s-k~jK_1VqtrNKYtCHW5*C*@4yF`2BOzxoi^kiF~$E$K^b4cS? z-Cd)H#&KIF!Vo+2;)aS_G4mum?f%^7S}$tV>boZH7cXVPhkI{h-T#G*R+X)bwe7IG z#8a-G+=7X<2gaG^mr1s}H%I;3WFtL-Lj?<1(dW$<#4(G0w6Fh?o94{_<@x!kCU^0= z7I_-BKE1n0rp@G~CO{oF9*|-pGC~unTPfjadB-L1vv{Q!i!fF{jYmC3KYj^tQ4v@_ z|NIp9y!v`?_{Wu6Z>@ou!^v!<>i!n@q^)^gWeJvW+W22O%0(9ee;j<*;z!uia?k>3 z`%@-Q-~y37 z366qm9vE&4V855Z zR=xk8WlR)JIlDpUQY&=)_>l3(9hh1=%AP-QnJg!9h1kG?byl@h%@t#d( zF&1nyYJ&Mx1otznIvMDm2Li1vxZ_K`!LEo8I*Wqv^CbcXN|NOL*_xLtJ(e7uhnC28 z5!=Ru1(ylF`x`!ks9!|=gV3uX9YYeKcC?mv%6)FskL;C1QROc0j+eMf24#vc&v(Su zkSa=k1)`)(y|@fm-MrrJsygf&VDCHG&=OD zOW_r`t`A2oHjyc7*~?o z@{rcHpH3<;w)1Xzyr(Fq>bM(G7WLJ~b2ZiX@%VH&^VXV#wc%4gfk&2y{PA@#7q-`< zYP+z5lEj4rVKfn#Q9LPQbslTN=wf7)R-hHv#ren)-n+W@0mDNYac9Wegqj7@ zQ-Z5aN8rF&+m2kdNemo^)Os};XP!La_9mY@j+l?x_Iy-<6zL=VR?5e~8>i)o&z@UJHxS1dF(!^K%Et0G;t63o}DIwICkFh;Iz)%6BvQ*$s7msfZHP|PWuuK&^2WBoU6Q}Z9 z-guJ$uad0O+J_(i(-Gz71zfalmKRBfv8aGr?uY40%1QD($hfmDG5I}vNPR2l?EB-7 zDnD91@rgQM*1M|xuF_10W-01=NyQ)jj3H0I%h_Zy7tt$6Lik>1ck@+~aayr(?u?M7 z_GUcBRIT+Y_^Ip2#d}A(?k%w@e>m_6^6mTVP>w7*iRsxW9pp*!spvsk(jSSQ0F%ta77cUc5(8gTQ z5>qO5OmeSl1I%9X($Qy$SrU z%i<`dii}x0XzDYr4*iHLB<3hm;wyuvM}?;o_iag?aNCD^rt6;h!(@vB9Y4gw7Ylg+ z%$xTAa=4dUHX>+EZ$dBg7Y8WlX&(N%ixjG>JbB@D>&cw&Cb04y@BYGA&cS3|a6^=} zM#L{KlVZw{C41IV8{-K$vm4e=zd6{ExWKDmDD6{2oW~23VFVe6+8 zDvuBG=9PsYWms1FmgI@}Z12BBL?z55kq%UpET+A#?du;@TSV%cI5C@gta5_btAGud z1&91dhTgi(Qn*%#C@=LEDyQDZ3_(Unw-6JE#Qn1L#H*=6l0atuymla72fN#OhYKy( zJ`1&->62>T)qc^HEV6X4cS|W~%|1xGb8O(SBi?daj0`$?vir@9l@KLq7(qlSL^(xE zB=VZ;u%-KpYT_{z(^UcnwFi%fgh+aA9 z_g>4~QP%Xl6n=7mK0R;C#_dSVYifp~tQl7#MYGmY09A2F{{Rq6A_qj-2vDgD_{3<~ zSb(P9RHW9@m%ck^`<91#k`XYhVc{l>Et?S~nj?3;*%xu19T*(ag{C7kJ)z9?Gt>u> z^(VFzlT03&zIJhJ|Fp$&b+Cz8663Ub8$k&DoUQz;$I(@dGN3EGC%}jSs=3FW{h#*R zGT0>v1LDs>vN*%EYA5jHTn9%3P(Jj0`QYcTky~rwS1mwvx3#dUJzEm(7ZH4a>*7@a+-5Yf-Yc_~N>jA;GpQTHx?cV9T__ z@9nZ)WLiI{ZFA`bQz_$T?S*UFD`O@!DPT(BZx3FiB#0C!#o%3a{4NKF3Yzt2R{(LA z88PO6iuoruf@B!unl(Hlp3gZ zy04!ef#dNK%CMmP?3fhV;+K@wz{O%{BG{NW7#rIzeAjk&a?ZZQR7Z0@EAzZ8r!7`C zCHj%YWbTlhDWZ@%t8ka^7oocWi~*-4Glm`OF4G5zu@XIgPk53&{J;-c zI;^s%`vy;%S;zvx+)xm}KXS$w#6imL$r7>Lwobd(D?y9B```BNiQk%mfFCh729!gr ztUTxF`(&Yn+eG6cU5GS+GD*W=<(42s)Uob_o% z$~OxFI2lMB4x)Q9G5J}%gG_B#Y{P;=SbkEh{MWvrFTa{wr0MDYgg+ZTqgDTH?qzGI z6a#DJZ`;AfLiY#x?lN|OMQ*0^aIci^?dI|~)gDXBoDGV+ez1S%Z)C*W4*2hS;(1h= z$DlJV`svnA^gAL8KVj_Qc~%IE+@@KbxKgX{z`WPafza5R&HFs zd0)I)>yiqm!LOHXSLyvO{tx}z^wTGG2DhcTgT@%`IxeZ zzq{Nvij_;AA+c0M*j-nu7e2-Nr;dENr53-`YSf@&nO%9 z(vNg-h{(*1NNalOvr`n4PO~x}XHzj;#|?vyNNB$@E;upfT5Vs=?Uipka}QcuU7pU6GLm98F25Zh$%A_cz!kLEe+Ki zun!SE12XnlnTDqwjv|%47JpgzAj%0n)11NOc@_-Nq`YM~HdNT|{^b6RCZ<`V_ZS?| z|IC5=NC(M6g?oJKR;Q9Ajc7VW0X)R*Sy&r;O{5pDA6n=#FqyvIRDN^JC~ek)SXoJ` zctM5c%rIrZ0`}ifAZSFT9lu_DC#n^;Rt(=KQtz(3(0KK!!Hp8zO*Fq_Y_$817+_Eh zp-)l$%vWSC=3OTJe;l1{#%<~Fi14+UMPDVwD?^Uh%D zEti&Bc_O*f&s_uNpdbrBk|^hha1Vcy^rNLDLRj5I#;^zJp&z(!ewhTL`0E!bZ>y*{ zen{6UOisnB75%S=(BFmg037f9|2$~p%T9cg%ZT=>HIoxz}Rcc?L>~w z_t6j&v?MMk{gS(KA8^8`7_v-Qx7{v5O$JL&zbVrIfx0dy6u%Z5Knb7c@cq5keuc;= zrUQ$A;}Fn0&jj)C5^e+D>%_^*6>xQyP2^ium)A-Qs;=gZq(J*8inOf1Q(f;}yx*~8 z8PqALufuanR2tp8Rbukr;ScZBu_?!-KHK4Bu|8`2NyVRjI!QO>>l~k@R8PI6R@lBq zCVwyG@e-eKmB(b%53$7t*-Ra`WK(>aSV*G#qPHZaLczWN!~3z}D#7{C`VZ}}fhdxr zbW6c(lS|BrsS{DyW+FS)m5}0=kf^$X50Ct4i>+0vg4_?_5i6gcmNhVgQaXoO4CfWP zC2^*JunhPVv+d{pnrP`xGslhf4|fhp{4@5UwJG8R>9Le+DT#MSRZ_INBbeG7A&VbjwPNV`#R3!W_*&#QU4*T1bW}yYWX~7*{oSS3}L!mHJu=K zSBH$WG32)qZ5-cWu`=EwCxv^5^H3KFZ3Pttd0+6JeCNAh>q?KWVg(7!FM&^9JRUfz zm!`lWDLT-}GOJ%B=`{|2JT}I0C`8%pvyZ%JB{_Xd0mF${CF&<5lJM2`aBUAu$!6R7 z>6(fGN_HS9Vdr1u14R-kNZGmb6LJqTmrxo2o1{v54ZG6$zxfA|P{nj+ zCKbM?NV(MSeJv-E!hpW4&AuwZM<<$nIXQX+-XmE%&)qRExfBebgZ#;D9>Hsw7$`}_ zv-9!R80RFeA2l-fJWf6uYzva3Q-!j?tL3W^F9Rs{jUyvM$=mTjlTJAgRyvN7K;Gp6 zkkAGXTd;qFo&<`zAf+YKaGGu}R4}_s+nuY#G+9}7pD@m&)7w}(!C4!S{gI9pUpSw6 zmXHz96dyuKq3XL|)oXBl^p8XY{164&qy#^E@cz_}JhEE6b8;=_dhf{CAN7w1d-#Tl zW=j=p+Wr&9Zu#*6-lvSQ9$1qA%0>}yJJtl#^$oZ==#!TeB$-%-h^whj`o{8;Z+*2; z5kJ(3KuKsZ>uCF$It0-D z0);fJjCq{{W07&_Qqqk+6?}VP*^!tLegj1#Z2}grTkx1NA3Ys-UX4$ajoK%b zX;LoLt#lA{BOWN6hI^z5U@;yU@}q}LPCc0)uHrPNi%~~CE`SEqPEef}=9J%X;bGnd zz(*SygmM5R%B>i;^^-Mwgi2<@s%CgKD}xm%X;ah~N_7VW1cj1BCv450ID;>&5c&_| z+tdBhltG{4xx;XK-vGf*xO9-rjee-@zc*9Bn6CHRb|~*#s#eG2FZ@IW{F7d8!6cZ> z&nHtaa!GXU3U(+a@3LecU_dZ=8Z%nYD15!f`4{x?L_O`nD(Cvd-lKeyE)gV6uiDki zJw3zV&TW5>D^tUDKZG5+_L6s0QC=#h{oTXx9<^(zxf+$i`15&3@WHrqaxgp3`G_(j z#vy|)W=24#9Og>vxbxehk@V1YdrJJH2hIshWzAOcJmXT{2JtPVw(FLBUBG^F#`ZS#9cQ_P(sae0T~Bm!=@( z3wHu*0$-qgcnj}JKO<=^lOS9)T3nNSlR{mBIvD`c2ou-272#3f4ZGz`z*lhsEfOm7 zvA4DiUC#&A55=|l?TV2dY5fMX;Ye-2e4xD>>6w2Voh|;MMXPY4u!Io_Zj}Zo!|P7w z*ASV%-L@+8fWvL+HNx4QTz)5N(5v-AhD&~0)NM7ZW@>UK_7FYRp}N4>HyPx$iDoP2 z3~tf<`|r)23OB52l_&I@5_QslYh=@O`%VaEi^`!6J!m+jKsw>hgiHnPW-IC8(kHu9 z#E)++Sg(ePKh%4WtrTxn01)r_T-evnVd$Sm#F3GeJ>#qxx_|P>MB9->ebQ8CtW==#2N*c%7-O;v+#aw`oXks}+Qnu34wR=q20$eyFmu73s^pUC7yUBL*S z0FS|m$cbYJ0~OzG<_ufgMC{S@zPcW?qrZ^^OS#9$l=Nv+v+|J5iT*b#7csdPz(MF%69PX#63X z@_02bNA=~@^F!NLcGP%UYK;y1m)C!UbojH67fk+>kP)Yy(B39bd0l-?j-k*d+5GaT_!mLF8gf(-dPHWxIt6hSM&L5oM2tLX~d727n-v` z?Nxey!5Nj0&)C}qyf^GrZ93t4*|y_P=V;uO*=1jbva#_0ea+Nexv1cSuoBE`kREG! z5zc|`vyEeps1+AcE=PvSypZgE(Y;Y==eN%56JXd-n3)BMh8CZyCJNUJ^$za&0i-oT!8A8bEqA zL$ofWBZulPOxHWgFlLO-^gQaiZ{mdRM3J4fzC|qnqz|7D*Cq;Prt^QbwD~);#gCPI zGP8hADfb^%!#kTCER%8xLL7Qa+18RTEZx54`w9}@ZP`k8`65dMrVV?^UbhBEhsU{jYL zks=WO2*!bL65#@Wlyh!JPBfW`Qb-K)s8x!ap`KR8aN8Xb;4}pf@j+3- zA7wzP?oOKiO8N^w@g2Yq&k8kgEiX>SyuMGZq~n+c_fOx&x<_LifBI}MCo((cBSp}X zSO$GBE&XE=+se1LFfj3QCnQoN{?X^z1BcC48ne$Is)7C~pg+!J4!$IVjLH_wudEXD1 zK1n!YO5h#P9;a+=$dk>_Y3Bn2wzY-!s7*=9IKLU=WSE?&_cA*N=LEf=hYGt-rkip( zd3VvhX#{SJ2cLs%3)o~-jQ{A^EjsOZu?&us1dzUcjTt==Qx$r5#Xo-9lCf1k^W=)V z;t@~GoqO^VW=kf1VHG`yT$_E`82;n>&e->GcqKB0NDQ}Ea zKNBSI{KxWKH^H3+U@y<}w%%eE*P`b?K%7!Pi=^@D{i)2~({d$LHmQxVtz$v#*Etq8 z-Ry_+^`RfqU!!YB#y^79t$Rb1`r3@g_Ew+la)as_^cSYe7$^m!Rk^*V9SN%eRthSF zgXU-1RQh&2nmyzSCWJSb%zjfzSh=YzrKRsdgrG4oz$`xX;Q(bz4wA(&y2Y*4RNmT} zJ)#J=*63{i0ij?g-zblB50k7@J@TW!LoFk+gNl-$OQE)y(QiO6M6zZul=~RIDE=mT zYAR?NR^Fbz_#%YlM6d1Z{=Ab*-Pc2lxgT9_@M{2OZeZRDid*5mvr_Y=$+Q&eTR$qKYZA7g0fk6A`;tUPXWz(#; zXc&%S9NvpV!O)Kr1}(jO*LJLU(w}O8ZUT~b4TbOxLz&hpSq9Q$5>()goz`ZL^!^F% z*6i9VzH3y2_H}ueZUdxmrPEjR32yLa5m;24sLpPqEfgCk3?0!G80jLFX(2-}zu9_8 zMDpFj42zO9c(fj5+}WCt0l=#HWVB1xJ9jRMX|pb{@Uue$+{Q z@|ZiSV*i>yZ9^nQZFc)tDcqU}y0Naa4|y;Ugq3!VhnmSK5%y zt0xR`(c>quM`==%u)Y=B@(N(VhQmDd_*tH6MV9&6Ox8~UG!n=`4|@sE>|}D*VV^Ba z6@Wcae{HS$=*8wSp4I80ZX4eK3L_l{q#kRmKF;}>R>yEw9m??T#u7Zfn$v_hp;6TZ zH?Y)tkZ5uAsZ}B({wr$6;62HdlN*ePi~+5+D&k+gq51(OgN>Z1(2u*#17AtbfHHWY zD`N~tFg@9XXx;>7XYsRmqTM>MHMc24(O>$E5nc9mP2DCH1K=kDNaoUOf>9Kn5sIUA ztmAvZH7u{_G~4McgI5;)3zWf)`lYv-(EGVG0Ned_W+B=FvuvI1*YD5)M}$*V}mNjAtk>HAmI&GkO72d1mGDNRRMJ5T@)Oo#FH8qwGIO${n^i?*%I zwF<6u%eF{Gk-HuMHGvba&9JTC|J3)x+Ult6vAU{bUH%lNOP~Jf) z!@;)S9>t-g0#+IWhf3}9L%PMJ zf8C!|K&DFG_%~Kq4ULc|02&qx2t!}auURWP<0l-&=%As+OOJEabmp@tmW1rKvi4VM9fdr6yjbV!@ zjKk4Ec~WP)xH4Ujg%@LQTfeW|gFzq)jJtDuII}f8+{0(m4r%t>j-BA4^`X;M1TFFl z0*JoKo%-+vh(1?kuO?%*i$gtCp6}_6pHX4VG@T#BiNS~V1?-ImT+~cqp-6k4^ADW% zPR@!FwzvV(3^Bg+@!FWp(5w;gk>nuG%AOs1lGCY;L9B1>n=v@ zz)q~|=Oj@+?s3h9Q%!JTj`O^<|4wdAO$(ouNtb7+i(IPhp%c|xROlj5ujkG}R?PI1pT1htrg1VvCB{Kqbr7W` zkqDDZ{!rIb;WvoCm#tOdTOI2T+n#FMbcbDnO*SG7>5>XW{)0>F zTc;B!x(8n$TXS6TJNtRwwqu)Ixzr-75@&xV!i# zp967}{!ZnY0`~RWv~8fT_L72JP0vB)3@i{VzPMsn1j(=RX`ol=r3U1q;(3%|OLmm} zM9-L3z~w514=dXQX$~>F^ zC|}srK4=s|k!R2iU>W z?Kld14WTJ&XvgprnrwXJYcslPa1-!wjGbjOaS433EvbU%YN(RTr9SF|jVK;OL?{(jS71Pc8JVT&Wml4DJd=GPf48PwrC5b}oc!XJ#Cf|iKpZKvS1#Xyyn1A9gDOmQJm#IHyb%F)2{G=9VR!o>ylYbPLrLFh z;K%9kPYs6$H*^XogJ2+z6FR8d|HVdBtCGp<6k;TiIdxPcZ`7`X&_lsj!d}0}h@{Rx z!YKl5_!nDV?CcEZp!oL&%-n@nRZZq?9-m^d_4%&vV{{Z%T!>bP-Rkt_q-*d5T2hvo zT7mzFBfd{01xrO2#hAKL;`j_&&6f3D(NrS~w}qlvIeNLNe331!`Ii9pd_OmPGY%RA zAY6p~uNxz+R!sH*>L{Bb**vY`{9+ykR}~H)CmN$KM1^LpKcxLGgISH(9blI}j(pR4 zvZ-5fxP9J2|J!gxyC7e|;wXkT4p0R|rBm5wyQ$EQQ(;b6lxriXE)TXMA-gfE0$C3E z^x}^0soAJa?nSDk@j#DkzJfATDA4`CHs2o6F=?|qbDD3_Yrx*{igw;sB5Nk^wTFpU zh9|GMT*n@XYJgkt^J;9Vh~fkN)eqXDo&czS)43xb+Ek2Ia2h2lAD?`nwNhrkGFFs} zoIvXGD{Ee!AFfJ-92qn4Ue!qcQesDEJ`UhAygIM}WPbMHFnHtfCe1I=%-`q0D!F1f zJL;WmpDRthA1oetm*4V4c=bt08C{t>I+>t4K^1bFKNhe79#4=BU-9k`*bu|Un+NnO zu91%hUP-uTBAxs+5e1T)hK}`JPBv=2fXjW%ZtQ^?&%9I@>#Z(HQ(|7MbRF~6qnL4_ z6ZN_Ome5lIIl8{pODB_8hJ2)x8p^gp6jWR33g_z&6QeUY!%Ge4Y>zb;(0;n%U=OK+ z4eyAHCKyg^`32bHPKDj5kKN`Fq4DDuah+6s#I4I$!C>npb5&HTZYCn3^WVT1$NrGy zp^Y|CG{^Bk4aj3Dg+Hs{4QKJl7&q{+PA20qM~xo&-tc<&_F%GDNpv-L;EgOh78AsEpN7(pIYnQc4o_JlN%)HPVzva>Bk-K5#z_R&R!e}Ve76?<3l zTE;S}i9MGMD0uzs08LhTjUD=r?e!@ad?)zc(nMc`tHPi%im{YBKy1XVF53mM_fpvvaj6@aENN6X;>Mp$G!pCM z?-a3&7zsqz%h5F%h!1om5~jtD&_@gButTgaR!5^t4Tt0cZ z52`$4Pf2s8KEKMzvVf=Cu)<*n1MM0_gK5B|kmcj#6_TwqRBr<4Xz_Pj(=qd&whG$o z?o+sL{gIDA;Sf^M_vgP*KbN;=CZMa@JAN~qY z#j(kfXPy@93i$8N=j*r+HUPTeSO35f!(GX)bf!gC(d!kph+B z6I#U1PZV$mMz^tG-Xg8;;?U=6AbVz@F}VHMP5JCaT#>c+YR@E_WB?7oyZK`Y`m66!9Gsi`ghZu zsfTB{q;X9fw>8PVU%|ySk|pD669Y9YGf^eCh9{(+@nyh8xOYsqGVGW0q^?TYrN^O) z7GWgnN**J0| zewm&9IZr0rq`8+liX@Dt)Qm=H2kbr@3kkb^$QDi%qGz}W8aR0)MgSR@F+dnZ4~(8P z>zir!ue*(#`rL6jD7j4?EWhy5KRX19NCp~1W_cG{#NL{Hdp$8VAt5!$%>E5~tT}X` z{Qh_F;k4L7>XR6@-OwC>DiXp^*p846=mNW=0lJ zkYDAj40BWc_E^@l%aYjtgKV4102FZJS*Nx7m3fP@yoZ;l*8~f|B!||l5`U7!p)p%s z5g_tqY@XC+=~6$t-LcBqywP=6KX+{R-LJ@B8J>3gO?#A89k1_>D+0}^q7O}I|6cA5 zS6S_7Zkp?l zF=)M7!x5@6dKg($libbd>p&p{b~9!TNibR#dlo3+VteK9jI$h>Q^ZsN5N$uwUJbBwI?Acp7H=%AEeNSN?Fug1GTjuZEFq9$h z8(~f8u8;Su~Sg`82 zwW-?uPbj+qHJ#{f*1s}tO#D$rRCQCpb3dX5C2&?I+S zpcVh-{(zDb%QwNH*`AM-tAyc%Z>n0>*X7=blAR1i5FnHyXik~5v9qk6?rvc&7z=?wAY z-MT>L5=^F%v@i_xKOB@jzT1A;(Pk6f4siUVi10jk02vDwvtG9a^ypSJleAd4!wN$b zY8P-n+vIor>`NTNHc{Nx=AyC1fS+Z*)s3lC1Obk15Oos+81>>i*t&VZgdxm`OTOj2 z$HoOI1AY-MMcuIE3WlA7K?M?yZF%Ac8GI4ZBj`ve&lRcdC27up+ogqK)zYZdV!NPb z(={{FS#e%*drNNPrgh~Gn!l+`Sp2>t+trCdva8MFbQ&RCC%bDsGw^aLdIP#A8cjfX zmnvzOBaS9CR9yK!oqeSTY7)G^O-KCvyWHHJpZ=M)H((>5?4eL?`Q;KHU)0a(-3Pw=I$=kq#|umi`8LVij1h-^=i{kT9yhap zDssJ1WponXj8tSJwb8}zZvFjIz zNT_QcM)C4Dhp2Inr1iy;sZTRX3-?Ql_&LH5Nn+#fa^O1tz;fPYg;48?{^d4A$fUC@Kw$#R?RKh(pKuGge!| zTszB81QFBa2)Ud8@cbs$NXJ}dU*A>k zv5B$p!X?tvqA$gC!^g`8scTO0gV!X_EqJBAKaP~;Pp;h0nO=yDK!*qC%03Cjvw@v( z?WkbglTxtnhxE4FmX$0GS@f}IBnvtPcTJ(}Jl%bgyR~-)o^2)qQ<-?qePx4Y&JGkd z_D+r%Jj|dUM#pjbD*_UlY<%!?A_l)j$YZVa0blgl1-jtdKy}8Fa8QC1Og7hQPytal zss^|)*b}Bst@i>x#+Pb5AM$BeW4l zm(p7bn6SF$=BpOJE1&gD3HrJA32tfEyPBJ7;)iOtC@PRN4a`v!7;7z5oU=hScWlny z;Y_UWW&C;>02w-WnGzA}IkaEB^WdyI9}a_yo>mjr(CR#>o3 zOg3ap%aLx`%#bvONy3XrY@Ab-9kLgv{9g{B|8?EFkj)X|r>>XfW}_{+8)avjEIeR= zA2s{;g}<$*)VEzJ%l^H~cgr@svG97~ z8u(o_W1cIHL!a@)Af-k|seqL^h1=sr!TQ2b+FtkM9N|WFv{P(R>%#AS;+>vt;|eM& zQ+{f~gH)Pyr(Nv=)em~Z=vW~F1NuiQJ<E*KHQb*8{HrW=OU z#bK6a^p>7|yV;Mr;3gm}u`cr{U;J0GH?|y|XVT>U*6$GeMam^Gvbmu6<&HfKx!b@_y%qfe!1l}gwc zD{!Lc^ScVDxOfzFCi70a4S#JbE9LfQWc0EfpX!pM7Lsr{eJY0Y8d+Q4?k z+lM%ip7OV&=x^p(+X1KiQxu)b>B7+v}_ZA!m7(ySdz9^j$3-?RX8wfYcQ3|Sv#H=|Gg3}l5A zth}#AQE!n?%?zp~9_s%f`R12-WHnwp>-*R4c#mnBY{Iu8X1HDy=f{Y$&r%YrRsk~j z#?)m#!!cIoc6>58ZQ$VN`D=n~ca_mer7Gw9@%PpI9~Vriln*DrR(bcs*`lExG?fWC z4fsh|OT6(~64l3$;~R4msscDiaK;Dv!;_y|J#1TTO+y5HF$|uZ@b0L`Cl?Epls}F> zRVwbBTB(mt&U(8AR;}eCHp| z%CY1kfA`uNO>_&^e$>;JXYs5|3%%}g;+uE>1dSE~I(r2Bm_Lv4{M6i76Y68ZN29o- zp!|1=f5xx0F6!O>fjdhr+-pI2dqse{dBrIK#S3z7b`Xn^*m+UVH2AvvVNz{3&6DDT z{~S1TTr;^G-#xdbY5JRv=V8A2>a=>+eua2_+jyt@?oWoPQutDyBd9!ycYQLUB9h7f zPt%J(nQU=)q_ZsLE!K9oM<}k1P;(Oo8R_dV@zpOGA;a|%dN%BtE!o9n;mVa|3wD*L_StRE$NtWxhyscmASjP zxLorpkFe)Ue@^Oq7WQ@dty808E7nM?Hz0LvDE3=hV>w*r!rX-JlN`x3F(Yr1!#ZY zxfQY`H|w-4opksJR2;^-^efHu{Fgo&nMSuvZ)hq=y;srTQu?dkAt|KN8tk(+`hsdG z#`J;%GOo{3<@z`KG`UA~K`YWuNNM)Do0BnRgGrs~e$yzA%b-HaY?>u6`bO zEzraeww-8aTD9T0Bw*8|>i)94*;PF*8HTcR-zx_Z1-)#Xb#eYxy8Re&?|YbO3rI7FIa zKHZ>#Ane*yr8UNr7QM0{@HS0hOT%4#15r{wRD!E8RhIBkn1%Gz>`!Kna6{k`G*#j# zECMk-@D=@Ez>x`;&fVEcW?vDJlTvUVP{I1rYos)Fy|IKSBTe-1>U9Bgtw)bzUDyOb z%*bDeqT)@T-`0XDW_Ykhej*BZ0D7XojXP>=yHut37@OQLQ7w<++KR|8X)1YW@S>Qb z`8tt(*F8y7f4TIR{(sTc2H05Ax|*q!fc?=-cgHdYTWLVn?Wxyei|yoHQufYb(^nyK zw55zXnrePyLO^CTpM@Z<5Sq57ojA9GcPr}VPT>vbk-R}BYxg2>i2 zvpcbv4FnIY%qsYB?WdsKsOc6af=;mNyv`7&dd9O{%C%K~qIU1nVc8$OXM0g7Lk=vwZ^Z#jOR zqFs@^WLs$~SrFvlGI$$Eb~0#1qj$&Cc60LKsm;R({nuk7As)o!)59~q`bP`tAMBrE zOG~3`h%NAqR8+#sUSUC5my}PK{C3Un5VE-~>pe?`uBkaFHy@IdxVE6gO88IswKN$w zc&$`0P6lqzspdWvN$)u=n=Y{yi>}7ujrn#~7x7iwy zRI|wUi(n0_GEPWR5Q)4~ff{^XbN76ppCHQ8AzgCX<5S>4`!`X$Y0BrB6S14vMT599 zreX2&2#%nJ+va9Ym#LRHT)qyb|Aet+@cvqm&8!>m8BJEZ;3!~|{oxKhAh@^niO;!n zI_^_=5pZC-B30-_KcaM}rMKmRbgEzmvwiy>{`7YCd8W+1#^!CW4`}MinSv;a{(mQIW zNPAj)BSa*dZMD{t&oU3aIWDFUmD zlPAw!XjNc-qCNUwZ&3FlzI;3<{OdN1eJei(|1-h&vNX!mH-pY!aMhiDDnxSstdr=7 z{}39nhKU}}W20AByM!o7z1eWF2$RB~tYinOFBfaLyVwhUM^NL>i+kG<<%!cpeNx?! zfN&!JF@=g5&)#&E(`R@d=)6@gm&C}*FlH*y#o(Uv%h&&gT^ei0TQfQDOts**G!KBR%FwzO)x&hYNmz8DUJ z!@_NQbSO;gPm4%R>mz{ga4P`5ghhatJ)us}cR4aAE|32&8`Z0DtrBsrcYnxqq|q32 z@^b@PGQSEyVC(XvrJI`(awI7=l?$;s*@g%Pw;=)jn@KPsv(ykV)k#sxgv(E2m97tK zX-(C7uLuZS#%%m3Oyip$u30M_&f?L~y>atvJjOlJcRt$U3v8SpR$9JH@v|h~w6OmS zbd$_y^3FGtSWB#Mu-ytZ^-u-(rs7FdTjAK)(n)Q@aI|q8(3VznjT36k3w=qS6Tdo* zk1+vY3anO}I7e?Q=e;lOQ0<=PIUkZMte2|+Lip`JEl6Q5XZ&f(940Bq_z zbC%%@o^c9sNyFmi7u6~H!vDOaC9roVLBSG!O479(>39lbDHtnRZz;0GJd#JF{KJ<0 zdq02W?mgu5mb0Nhn2CQBU;R6fFF;Xqm!iKDhi$&diVfUe@Nd0LoeJ}xjlTeW-MC2K zu$+XswMwRD~RVJngTJW#Y&Ew&H zuV^(P`F_O7!RqD0LeESPB@O-7j${vBf53TLfW=B&V*S1PfFO`;0*9e=CO2d#Mm#L! zT6`V5&lL>;pTIRbYw&mMykE<^T!t5>2?{dWyln?c(J%j#v?}2Y?5Ii{7cmTc&zFL? zP?#vb{=TXx-jw)3{!G&mhVK)JIx=%t=*gD8QW}_lE5>0HU(mEwG?CRc#hepIJ{-{i z2kE_>=Yy|hpKK{aKPHP4*MgVh*$=huQEVb{N>Ugf%x`T>ic>pm!^A!LY82PU*PTv? z?>09jBr>V`y+-K?3witM< z$RgrxEu}1kTQ>bGiP8pbqk7E(KX4pwP!{etk0<|xg=&^)`QA;?Ks=&7}u-(u%fJ+cbS3fxgb)-M46Os|EIKOhTkEQlQtP(V)4RV%_^Au-m|PHkew zLYaXXQ`Sx9i0?>$V}TV1dkeQSJ&$=z%oA2XqGrc8A=I*JG1g-VRGhIC07~-FQ2$a@ zOEe7!o_rzzbN;gA#oGv7n8?ZlX``7mS>5=U^f?GdL<})&>?C?BRqjho8i&Db*049g{@MqFf zdpcpee0nY?ZrPv@pHh-W-c?%s=w6utp7gPna7^2NDir;H^4pq&Lh|dHAkhqA1(8** z2u_(w_Sv?9pCAnKZu&{GBERSes~!KMn4fUV^R&0+ipn`Ks;^!iuGRzbygO637n}oq zYOVwQ&ehBGMsfHK`cTQtn9vla>_=U;1K4!ISP^+vZMKA)0q_B+^IgcA>3EA^=A}0$ znGm(-EMaiGZv5%DyvpgTM6;>@^edE;>*Fxh@Oc2jjU{Py1 zYbzd2c~U^IP1qk}HOZMuw|$E&CiadA$T-O|q!*%ir?0CzzqdtlPBOnl3Pe{T;ad@tZkHG{vrHZ!9V@Qq_di>`>~8nUs_xLmMQv3s zbmBG~J09lIx@USAHG>UgO(jNU-8aQx_czdY*%PHWW~f;d*~e@IRBs|$&j4jTN%18c zk{l=$jz__kD__5(#{V|>1#`d3m>Fg2?9S~N_;E28ox8i|O17{(W@}|NX#wPIs-<8)cJOQotVz!f4n4+S)qFqc z(W+;$-EKQ4YPsmiyoT8yiF0fjlm{g=2#Cg&R_t&@DQrRx;x_&E0Ud6D6c?3^MX zAex?2tlNc;6>Q@si*R#B^BZnScPpl!p*Iu7W&Fk-O;91+WKraH!L{=R0cS3@-pX>w z-k?ZWZb{BE2s6$5{D)t*fWtNsbz%KF_~x;!G(5bIVFh5v$0ZJGnW=h{;C8b9ka)MY zZ-THX=CY1Z`vg;2k9MwWmZpDn{)w*Xi10|&2dzZ7?1PibgQ9%y@{HF3%T`L%+7b7= z)vG|gJB#j>-eMMGV1&fhqj=10?grEVsuh_0C%FX#XUr)xYpqRr$mCGbt1u$pOK(RW3=@y@lBGny7Hc85O@$&Uw;F4oV7q^# z2(=Ww7YO?dZHK8R|J{d@Xq$Gm78)&788E1c(JQArW(y!7hAPV!?)FjIiXHh( zEv?hZ9(7V&(H^FrW0ChBjiy~$0R5s4BfRHDDSFu~8q(b+{{PQm2G2EZEOFBH42cBf?BjyZMG-WhQ@1t7OrK zEJ6%5jfw4+^ZRE2UjA4fJ0?1)SL%kR5yxF;M8lf7iWRS`9L~$tzOJlRo_@0Iy09V@ z-%hF#eRQ_`*s1xB?H%?|JqIuB1BIVf#rcs%#z$pl7_NfMxA|1>%*C4A+2x}o^c zz{&5xEu*B(SRQ5aRfNX9)OAOVxraPS(>ku@O{N2)6t9h-TyvJDaz-H$6wUvZ|cl&xo>&>QR=iGcf@Y-K7sP;?@!-5+1}Ud z%*mVCw_;aVYYsx}VK%*QVwsk^6Gy(a^xiW8{)sDWcAZ?uiD8`6ux$iD8e5lNzRAZiY9zCp;5DGeVJ=ZEg=q(Sd`if& zQhviLymQxt^iH-nj^#i*d`YxY9_JPA-_Q%qV>lNKGD$3IgV3S-s{0rn<`Ev7ZcTag z4lY~#lXt+|ku?i>Uo=SN$7DCR#I7=4<8{3js3AwbdK z+aqsF*h!PT7Ob@989qx}pi=*ShWEt^PqB^r_=gsUo!~P{_K;`G&uBOHV=7laI6)&- zk}TsHSd!akm4c<6-1fR&#ndmzoAvN9;A~O0{p*0x%Kt}0DTK}7|9n&NbvEq9eAF^z z&a-$msY`Wi|56gS?i=;~#Y+==I%2*3gLbOu3IMrEPCr;9ok0R!t!iSlHP5-uQ|HR@ z_3MNMEzXj)b)S-GBhCZycM2aR6O{cCLL>^#17S|m4z3T3>Efg=X4TdD!?H_8om_=B zyT~O9k2-sBM)##VB^*?x$BDn){}U+METZ+o95R5$lHGK-F9|$K42>{#UzR%kD!Y2@ zw&ph^0>+s!7Y*AOcWe+`pj3&jm4!=C5pNZT^`=in`mKY42T~UZYo6dPdMmv=yT%r) zk869zeU)r%%A;Jd7s_BauiWMx_sg@>1w@${BDh~$69OGsD`L>5JmaFmP_9h4U?}_7 zx#&8Dn#;LOw0-7_H3Mhk^xDQ)(-+t|Y>T#Qu zVP>3gDe-RW@QrnmQEl!(RLe+JD>j<>sere({>+E2oQYFOpz4VS;2(LGZ|;* z%&Y&Z)lG-ryktlpd(@{zV%3dhHR4*-e&LVm$`tq}uM>cKv5;i3>gn3@kG_+b7GyPo zRsD{mQw5${r+<(l-O-f$%$jg8RT1D}BO9t-#hJvq2P@p<;3Hbkd`x?4{-ge3aI1|c`OjXPhqU*-=6G}VATv!k8Jp#y0dd+wCJ-W1JafKJ#&mn0V5ax(r5v zFP`57S|R^t(epgcXz#6GbwtMdPiN8hF_^*_jKrzo_T{V(uiIx)51jewNv-fnBC-bA ze?iHecs3hed}k$SO1=(L29uyrd)JSk;|d9G0&t`5{u(OT91X-I->>7RPW@jeUfNr@ zVNHmiB<6xzPAcgn5Rz76)=OrMRYTTqdH1z%St=<#6PpZ11q}W zlreqfMLV8P^hf@S^apb?VVgev zRl1H*pZ6>ocMPZ^{3vt|)d9lL>PV~#BnzE4!O6~V&R3>FUiZd)lnw5im}a@>KlW7@ zJx!NA+U7*EY#`8EKNUnmA}<^%D$Asx+>D^tLQkDGs(h%k5w|J9E3?Hv}aj zAv)%MSP{}!gKJX1B=FhcZNtUZ57jGb!maj+9X zDAjd?>K70yGyrqia4>3!10S9?ovbqIry?QsoY_`rxw%&slR}v{Xh;CC{dJbvrJG#8 zo^W%?k>NUqi>46x&cM(8C~gJ8rkFk7pE-5@n_ar)XkPZXlzF*j)T!~!@l*5JCsHizTfw*c&Kwc1 zrYg8|nBW=FT2-cgoyPSEO^BE5J^*`&_A;!_6Db4?d)=gdxcff<%s?~0tC7oSfp+xa zhq~3phWIDCVEZb)aG#w_1jg(e8H&_B?U=)NBs@p~Q z?WftV3{r^oD6kXqxwHw9I)1r^1I5!OPQZn)hQb_7y^Za_XKhX%yT}S_n)pB+WQo@`SG(x<^@`%*sWtphuWGtKNh6S z=}VqDAqc|T_Gv318+^fEQ6;{xCF#hH9;CkU1)a(m3+ingPVdKpF*{GtICGBXuzV*# z3ddL}V9wnP2R#OdAmkPi8j1<&MGAH1<-rApLBe{M^db?F5@i?piiDo?oaa z;2ADO%;;+<=u|j5yl^GY7|n1>qys{qVOi!e#N;@XsT0Zk(isZl?^vNs(*cYy%cVP< zR=e>qQgTj^4SL+yEAtCh(1l> zh(wcikvo1kd_<@1Pz|~`9M2Q=OCFbdE{+||Iyw5Ex!bo#cUXV~wmkD;l z`v2_R2fS@XbwBWpV(%^1SffUbu^W4jvG*D=`s@V}RGNa=5JeG@CW44hF^Y;sW(B(Cf=@ zdO<$XwLJaCWJEwVhOo+_ccytMfwyo9FuxPpFJf&0>#20#}b<%#k*FEX#`07s=AjBK@`%s>_I`xtUI8(Hgfd;;HdYm|ig`Yf`=SC0EP5415uE3GMG-NFBrIh;5b zZ!Oh{j2I|BINzEVN~#?hGC5@^<{6!lR@rD8+Hw}!+vtJ}flTRv-`Z1$lefuX-XlA@pcAGmd@8AR2V0$P3Z$3@I*G+nBJ(TGT9HgvNO-rft`@Q=h_op zvQjq=(7dfq1$}knRJCahHp@;05S*MkI^HqCgSIeLMs7J;5TAkc>Zk2uLu>%=%H=P# z4PH2KIv|gF(k*rHot)K6es!W>p5rh2rR}q#0B!Q4v(XDONvAyzwz<9Ss#7;wjY-dH zEC-Dml!C%|6BwYeR64U_7M>TwQfRJ3`9okpad3>pQWnEi&IAt}ljSmo(;V_jW7c}F zmb_-g5Pv#Se-U=iJ@+h~)+G5(s^3b~UB{y{z>|*KI}rhtj$;U7L_C(NB|>SKAKVB179i-Paw7d|bWYO%f2IrQg}3oW zd3dvotUs-|R5a(g3NSyXXErSmaX06={K#-k1S--n1tAJ@-;mXiRJ76LzP#W(O;4DL zi)`16jJ18HiA?#Kf@6pCI!~VceOl-$6oUnvw9L&*}@CI+(4L|3Bx25(ngEz9~0jGgC!>*ufc} zTJ+P_Sb94QmOz>N1VcD)_FL@m7g&*Dx!`g_`&;6)R&q|1x!5&JAhT-D(;Cca4Rw10 zk0f>5}rO0(!ziWr!d;d8nV?CGet|8RQKU9X_$*T`UtUV>ml;b6x13#>M0QXYInlEtQ<-X_jGmzK) zp*CI%%(X~f1uVgFn66&Su*gDKYwc=yE^-m^7%F+&<%lqgi-pV_>#@fkTXxR)%`o2b zmba80Ap~iMjmSWw*m-0@ZN0Mx2-W&6Cj)uIs>ieL%))%X4N2@;@SMWho#c=LG!2ct zg{27A24-&<2UHoIjOB0YkyOg7orSV3;j!~Z*%XiSbJ&Pg0NTN+ zK=PpP_&ZUZ?>;SlwxAeqc88$ni~t6OZwsd_X2ye^NERd01B=-$O2?rzM)BHEfBZJ z-xLVm$wzc*6N0oBoNEs{=}j{J$smi_YmgHiAuILHPA4$ZqWhjH5C1wWI=%n?`xoaU zf;SyQU+4oFl7+n5lP;heUB!#%cyZ4GBtAJOI--4^``qW2#pCjlH@#PHj!b*g=Mzsn zvCzf8a^)(2~(&;p81k^A5X)zN-^a^W-?5qbeW-Q(z_abmf9bsEn==VObk zT_fsbhlln^@6X^FrZ!Yx_Z{@WA#gN|m>wuYr^u;Kg8VruO}%&8X{Vw)_`nlhoJM3H zv|U6DO6TU-J&vCPbc`BA7LhM#k4Yd?_0f^ryuc~YVfE9&a1QoiqlXXtD8B{+){dT& znNfm{MVpZc$Ad@D>@w03ax8!rhew8FMqhLi>buuodljcnZvdY<3*|^F$avlBURTzu z;+aj6KfVF&w43(Ek57+#4%eGIQlnz|I@RKc%95x== zwr7?FNguf>ivuJJ`JAdmM);wV_#_9B>K=RSQQCxqjvk|j7d+|c_>Hy1T+UOE@yusF zv-DabJpv}6G+ZExqbMQ)-wBFC(wk{45y74Abf?k?esemU38Cqs3>QPgwn$MH#TD)7 z`CJUnIAoD@an4DlsW)oZE)TDH$=v>-~Tt`rDQ(&!yU zSL%o!*<_zEJ}n;R;K@oI>|N$Gfz!AB3@s5GCqGUxl#e&V=4^dbcXiY0gg>7y9YM+_ z!yFzBNelR)^qdE!wV*g72y#hUP8y&2^h{m%*=L{foxv%GY!`!a7!I9LZ@W|6Bg?(_ z-n&G5WJJ~s%SFD*arus~$by6C9MnPEjYI0=Q$3VPj=sC-if5vK_0T@*>V;Vi@>ch( zCl!U;(S#43F+OxI^3oMDO}i>jTc|7g>dzUH9a^G45ng~7Q88Y196I`pUg#fs$~RxJyovuMmKt>&LBPhoh2Y0on=eecC14{gUyo<-QwJ%4=#0xJi$F}A~?Z6zR8B2 zi);f20->i|9UD8x4<39c6EYGEptF{k%X#Xl^t5^ty(C8$VJ!v~CrrjhDeSkUj2eUT z8I}+@!>Wy#;9MLAWvP2hVZ0tt9!6wHCvudA;%8s5?}n#_(i|@(0F6W;@!%c@jK;J; z8x5a~4xEj3n5pH!D|d1eJV92KXY z-*khGDoY38F9SGD-Y}Z()O8pF8x^SN5bLyLq%0W6zx159&WWCxj#F-QWvwum^Yj9U zBXV-Hp_K~OJ=`SdtvMAAR}{)&P&)HNp2dhcne>bV#VKkCy_25NAsKo>zd2maiXrLg z(bG6WfAd(J7MQ=I?Lkb$XlvJ#d7bNOv)4Cl~qezWeTF z_--hQR}nisa8kQrpnb^Wpd(@AhS-L5F7l9fF@qilve(&#R<2r4fHNesTHfqIz3`N& z7m%iQNGpkcy_YHnI?Eo}oxCnXZ_{+_&$N<*cXGTPyX)&p{X4d-?mD_WLzj$dI~aoW zWXH}8*_}i$TID;ITDRrIT+UOaL=FV1SLSfWIZpzVCV~^<3(E<>kkfs`98rT%K0*=3 zi#{@s<9l94pqa*%-)}=9(GLgczTVROS3SAR`D#S;7^?Y`@a3K%pq?#5rCAZ)yxBEp zLr&<65>p4|Qc`oZV4ks_VinPA~^3`GLbO22q z=CnwCGB;=RK^F7^)XNLEJP&lxmSGv~;7{9$Ql-;5n}(uao|%f`SSPjXa)4}fgvwJV z{3&;-@Q#AskUzPzAv#Rg+>36|yVMc1q3>)g_tI{rrtp$?0Y;tdKYuA<63n5~cQnMjC3F$d`Hj*IGY-~we6ZPhSLr_jQEFBUjY!qlV0L2-BllsDT1?1cafMkm+Ii2I*8D~b5XIOu8DX`=g&Xn&2H#`&(OU2&2L_0#{uEh91^+o;U%8B zKJR(YD{VyP;T4^H7vY-+#setdy&#SaIJ&gEmlfL0n^Au-4LzL?aFBHwHRy-PMYO3- z4AR_ohQVHncuVV=XC9i+eE?Ztx;2xsSXay+Xi+W4*I=X>B@+7N9H(@G16 z7~|iIDKD_R5Y;9OoQ!MWMFi%h5!&?83pez%30mI7r_J!B-uNOD_X50xPe3pHx?l4y zpY(P9x=kIq$JzL+3UtlrE42Ih>T-N0otJ)`n?IBX0tr#3H21#uy$gNvF^@|ZOe3j3 zT^3=|H!pqwZ|HJ*{`Qr838e7K-k>joy58h$ijd99t4x6v8g+eE6LW9RlwD7&l2Jw& zs*p-koD83r0(mKMZP4=oANWQuysC?f^XHTdCuiYx91PXbXM{uYi5y*vDFiywa5`ke zSjRzHj*JqAcJc?QH{Q_mj5FboDQX|m<5zl0?zj5+KIAONK|A1$oMR{udidx&Ef~^= z$O5g}2&X~nk6!Y+7rE8C-AC%s&x?0FsztTx)-_6kH{$mi|2hBw!?oC+UNFSik)J1NXsx$)ttL$FTTWt~UY7GL zH$<$KE3Fj$C#H)daotg2y=yUZ$)USj%l0*pR%ocdRStNr5=E zl~f)|V4a!uY1;$LV|o!}$&B3@mh&(MvR+PzO6)kX9ul;nt)c75=+xOdR?BZ}C+y3> zvMI2%%v)efb-X}a4Uiwlp3|z96V_JFs_$fwHOLKT#@x;`#z7IIjP>_Gy8gX>I^V4U zvwpEQx}@u;&F}tq7%DHQ(?fpO7lcNBL!G9+-$(yhKVP2ba|lD}mjZbld~BVcWmk60 z*ac*feip-nde-tvdG!_Kd+yiyteHAlB2}@`+*BIz8CbL4W$VtJ%gd=?nP$#oy%fgRpbvLAZha0cc+l1>z7s3Dp$EVSU&eG7*zpv~XMw)ovvEcf*0oTMEL@>qZ?LNa6$ z5g1}xTj$^a>&5JB5Y^c6;VrO5^>zr^CT4N8Pm5=jW$0zkI%S~*mfh5IHF)DVyh*n( zT7+c5ueZt;H{(mxVNtuCExtSa0SyrW$Ag#r4S0)?4e>1CwLo8bLsxX{K=IoGVmx_n z_l-zERA#r7-9%*8Uq=THPVx3%T`U{2d4OEh!Qm))wDBNv?=LB`y9B@WUkc1tIQ&}- zZdZ&2=OPS?su`Mv>dpkPKpekm3-VMZ$AWkH$lE$l_iU-;fDGSlfmLrja7NmR+_bMx zn--Kwcj$p#I?`pmD(9t>XGwz*@&Hb>fi7e%q0yC zW+-U4i(}^~4M#+gHFQoia%ogXX)B^RB|A3k;@})9u7ujAC*wj7~?Q-V~E_*k`o>n2k1D+&@*yj z7}EB^So%AKfWhNKozP{_(%4}nN;Sk+hr8eX?q!>vHprf228DmSJ3P0&F73?0lMlz> z%mKz`$(KlvL(&;(OMH{Pa%^K%KTcEop+km_gwq+)D?8V;ySC=wq|?5fpgM9i>arN{ zX*ZerYjbr}9-TuEzxY<39Zqyg$LSQVI8KM3NJCa+VH+=Sh#a!rQ1w<|^y!AfbI43x zJxf&H2OXq;blC1X4o-gc)Bbdf-mnn?iguBQEa|YL{d8u^)2XvfI|1$dvD-}9>aFup zXKR_+k+vas(=Iw@BM5nYZ%%U;0oHd@|plH*ccWH9m7~@i&-j|Up*8vk0Mbzh0Bs2sHM}g%mok!Ji}WID|fwVSAehMudVs z#{?V^TDAw0A!p8@`(QkYIBO(&bpd&E7RuCNXrsuHGav&_3bdU=I2b72MDKn6IbwXF zkES*SbjX%-(Z0^2w6#wGz>0KY>}Zym3__}a4m8$W%JOY~2jQZIaR zZjNJ9wv*@u7U5t0*dSXJ9Sd4&IyHa33{B)QTuWp7l-?z> z1(AXV^vw6#8O#bp5<_Rhtn}0nK5F1abi=6e?>GJ#puONxI^WF)in85PfAduC578Y5 zX*qO}F1pI{!Xb`Zv?YRx3=Ks^Yxt^RSgn(AoS3xe8v2^26B(}rl#vVYl<$FirhGU9 zGR2#rdUzCFs=o-yZ;`TtT6E5at~y&Vw<-!v-L;_(tcLsUX*ZpvGf!QHxuy^@*Vl(~ zwPEc@=n5wY+C|i<6X@5k4|UOja$5K?Ke|-t2+=S<8C#$ecyRgcIp`dtE1;89M`eR| z2mN}Wg+Ka4ujQA=^g{AAoEdXDPeWBOTwu&zsF**AGBIApVU9&JnWJTH ztp0NxLl~l!d;Mq7zbC3Q*LTDbN1WxQ9T|wu8Fl#L6hxaGrMx0-!}(0_WRA~#o}p@n zz;A#1+shm*-7&(Ui?uVvm&lLv(UAmrAV)IA-%y=Qk8pH`!uZPD`RKd9MqmnQu{PD2 z;@K%x_%@^`29!sH6>tg~ z%!GaJOK1L*14Ac0DFtL`XrfI)<%y&AT+b?B8ecl}{N~t!(YoZNaG?ok8k(a6(itXE zPQ0Wn2v0em6gXJFQ+H*9jzM1aMN^r5L>6R99(a*XK4p=iG_|aTkTz1b7cJ_O`f&=W zJK&SUPdPv)_$328;3x7()Z;li@<#{g1X+n@r1871Cqq_0vcwnJd8t&lpSfoD)G_x{ zcf7mrdG6yKts2TD1AO5xz>_kRPeO&wrF!RO4AgXnfLC=TCpu52WL{65 zjFUZ@XnT$hnR>2#_d(s+2)M7#^xJcFCr5cRKO7s>W~MXfL?Ewc_;a6*kxS~|a0XUv zZ#(7kw%zc+JdDOx)N(h#Vl?~DQ(gB~f}f=z<iW4C3^~t+?GGy!dDdiGk2Z|vJl7{CInVz6hV2(C(uKybnxd^8R;W+hu0V#7 zW7Fe?K9<#aQZ!3Kyi}M3y|{IZCfQdLCe`P4DkkN@WNJBNiH7#<>tOv`+s&(^D*^4~9maCNvM4g$=va2=X^*wHijyFn zztZRp;8G!P_VX@9$-Gsxqatr4r-e7I-aG~zr^Vf?0ZVTzZQ=Bn0(G@)Y!=76ROkdP zYgsCf+Rpy!TDG&mi^*B^XdE~RoqtA6mdsh|G!N1q7PZ^tVF{LU$bds7JNx489I{~D zZaRmhEJeQq^7OWRxxv{@+8H%1)XDi1^U8ERU|F1Jlwe$AyFcmKP_LdmHQoGXtV2#P zd4^!ghBc3tv4mz#cU)eJ@*TP`^la$fG^op}ze9eztcA1-ixKzJ)fjibkI?9+AG$X! ztd$(vF%x>@%Br9D?+sxnjqf%L*d|#&Pn!O37`g|!XC1Mvi<9)ZM)Ktvf=vpRtYv4C zB}9UZ$jrJ-BQ}foZI`s3lQT7Xn1p_Lep?qipD07LVwZ;XfS%QB`9MDTv$jq>)eq02MZYcRw&u?e$7Tc3JpR$Npgeo! z$tOqqkp&ute&pl~0cE2pZ;rMjpYW>_(mpwa+OsSxv$)=~7$Y8Q`S^}6G9Vi~XlHcf zv%tJ=3(=OkDa$%h&cT9xYc-v5U@c)};^ZH7RVLYMBlXmoStlv2I=Qb7)*@OAo?*6h z_O5$|&#b+rAKEp$*8*wqAP>2dnO$-8imXJpo_l6DUEa96kFV@JvlzdY5zsXY)73>j zb+m-f;W0)wwwH34IZyhGdq9a+GO1JS$ zj`X!&&+0x|Du*7>BM01MXBt~X)5wDk;9Z+4kM5!26A$vT3H-{(e$;R1Pg-vz%oTYO zw%rMoRg^?H8a7~bb`eoRj>%4qdPr{=pfNqO)4}#T(8!xNZ!V6`&JstCQ8tRFF*K4q zS@f)Dr#RB$$<7ZBq=rV-n^P=#Y@@WCis7PTD5X(73*6^mm8aYo3}wn5cFLOL#gu91 z2WMip5yP|RxDWO7jDjhX9P(#D$cIvLIHo6b2-4YYWH*gxA{TtBk4wGP%V8OuNDb-i zM6pfQAt;pB4i&r_p4vr%9vU2;s0*AqKqidI&K}b&{e9qQbC?VR)Z1<_zd3h~%5E{T z$DejlKXTKaX(P`?eD!F8?&Qcg9UQ*!$Z2Nep#yRmRiu5ihaoZ>#xIr$7aC zkz*tKx}#7Z!(qm5Up!p{?L&Ujd8QrNKp(b(sx#m*9j<(wFa6>G^BkYHP&z@W53-_T zB3V24bOdY#t;isoCfw5=WX%balO11dR2g)FPgq@o`J z2Fl^cD_c4}XS_h@wnEB>u4f_wifvn=UX>%DETS2`qkYSs*)FN4TkNHdMs*yX{pZf+ zq`duYdLkJOu3XBDFOU}R6vuIP98IDl@*oFMwXLO;u|Ef8yB_`+0tdm-aHc?}^$AQh z7{sPco66B=6qv(NZ+zII=s6y0h)gK1bR4>aBt%up;ke1c_E!bRLp(Azhfdf=sjSF`!Jtc5v=bTiBl00AgF{45KHE@jA>@pmPar~9?|Qo_N1z<% zCTL%sG9Fyyu1-UsQ#xgivp$p4o_0s{`4oAP9dM%BQdEgQx~H>K&l;hlzMQ#;jBM0R zJ>q1fY4TQdN94C zVSsx{!wC|!-wYv9DT9zsK2ee$Qk0T>HAI1o!s$rT+rKNis-u`8D3_uI88S};Y4PIH zo5wIk6da{qSbg=l_~yWBP#%2i@kOvs2Vy83FK5ch^`R`06a(~KdP?jdWzmC6B-t;E zp-5+r4NrK(Bl+qaw4c9ggpT_h4*Hxa{+uTu+ETWAlOP}2#3^QLpbNhYS{j(faRwZP zh+8B~pEx7e8dL(plh5p*_pc+Y|wLMsgI5ae2*^U zpKa@eB7?f)Bo7^{(TI^JKIKV0@PbcuW78s6ohnG9oNWPfIZwjrD@p|DJ|XJ0^jk(<1eQetz}hAi@Wwb_AJ7 zrUqqVJbHN$L5m(lXQDw0Kh79xa8#UKA_UQv=%@x`hdC)22p5XVJ59i0&>1 zX*hB+C1271!yfjq!Mr*~ox8Mn2t@jxacUqsGtAF{H8rAp+QdQGoEyhz$}0}NhK`$a zMW!wKPFfj#ZG=?VH<50_@PiLcJHjUl_y?-JoLh_kL)WaLz8eWPj z8Gzo3QAP<8CHc*9O?^CVpL|kYek>Gz#T4 z=OUkoK^c_FoQwuy^oC#@CP&4AcrlYnW1J*Cuz*f=nM>FYshDw zmI819hBFK%^JY2+c}1D(OOXxVq!&S}n|ZgsVu||jV8~96E(RpZ=CD9HIu$(ou2T_3 zfjX0wXpwPBXQG}n_RKu6x9yah!je6nI6&o+k21Z4Vvr&_bIzs=;?VQ=o3x!e;UmLk z&(ReD>OeUKvXM3;1x7_T$c8>>8?y4U0}p6xQ%)ambV3`Fw>GCM944pA$%lUq-rq)2 zf9dhYDUciayO-z=pV~NcuA)Qt$c?V*;A-g5y%>{*Go+XD=Y@~@(Od0L_slyhlm62? z`apg)@UHIaY3?2`F7nr@p-uL5g-pD;M^{^?T)>m|6m60N`;gBlM(4*y@Ip`MI9>Le z%-NY2tMYJqcxPL5x(-_KPj>Fn8G3;RT?P?0-6eB+BM)7Z&ofcIcBCsJUb;w6yo{m` z(vn{~oQ;gRoF_r)$u$%wBRbL849q>s!jV!)4QrB_vieSG4B<5-iF_J@|pQ) zvZ1Wxqg?5Hk~`<6ZXAo3clmoj%o*ZSKKdsOgOyMH12W*)l}8r%V*J`uyVZ5_ zJM(q;*52Ab5xx5QtxPhIzx7Cr5yU?nKtoE zdiBK<&~dzQuz05jev`pQ#kurP@^|cqI=0ZO z=}sztIeZci3uY8|Gb5fc~`L;!@*r`ez1(TEkYUf#FEu3eKaeS%6_N2h$ zpgqaRysgy&hQJxJgQ!h}+0Za6n)7VVbDKn*r@2tWSVPmbZnK7M3(a|MaOWA`gXTQX z0GZTnTFapCLwY?PXC|GfuBPF;h1EGC zs|I?aINS4-Z{e@>xo?rT2#QjRG}1#e2z4^_!+Xl}$w1IzJT=g9CLji zpX%$fxV)dQMs!8nkdyVRHOPV7Vy>khJ(@0B4f{$7h^(STZ(+_j`0jnoLB=&YT{*q(9nDd(t)ed{+nUkKY3iJh0GF4jcE(0(Ugn zL^^j<6Vf>94u2e{19A9-Y%JJTF<0biH;f*Q&?pt5i`@KX0CrAr0EElfH*MNfcHB75 zjq!j+(BnE#!QN^I4anPv-7y@Y=*jL2M{(&98H)y^91c{l`{c2YeQZ(mfHG=K2Zneq z>dLl8prDU@}=7sUz^j@ z4$5@2AHC7u(z-ZAZDwbh^yuSDJE5&!B4BkQXT#yNiMG@B+Oc*{enWr#XPiwfpBfx8 ze(K0A(J6GwRC?FYJNiG=Iu&=tIq0fL3&j4X7{ubDtfEYRR9Cn0C;4DbIFR zyQk=0I&&Qbex!4GrqhugJ&xafWeGOe1m~)q=#EZCy|pXbl-4~mjsxG8F_-hCP#hnn zBR~eufb@2v3I-s;(KG8w8J38G5yWw61U-~!j$`6%H9}ue^{yISge2P2$a+i)#yIul z(ty163j(}}egaAjanhV3g#}7ai45_gM1k*&RCH~hyq=wsQ(7|6BOA&^>1}}<0$$aV zQz9qZ;3&N^MN_^{`yz+2DGzTPB*)u_=R<}s&yayaeIGvzMxE1s96g$KI{d4fNIbOt zX$gkKm>9iwkxxgf-lE7rzR)8d?di8mzDx;$y3#Grq}5h=0Yi44$C*i|Bh+DX`snCz z(&jNE0xk$3On@MbXeO)aR7?y|YF(B&L*xpBY|)v>f0#<(DVV zT^gQ&x!;H9j2q1%dJIoqX&yL+5!e1vTI5s)OR- zBhx6pIWUfAF&L&AmZ__uo6aS&tBuG#ZCpbhoejB>O`YEF+93u*av#F9>Bw7$EIL=_bidyz%Ac1+{_vZ>VPxuq z6H@MCAa68$vJveB%3>pvWK`RY%QS-at&wMa)c4f$$xnWA>HI|32OoTJ2?Dlt%;h{m z&nKd!c$_IGkhvX0N)5{)7&7RMI9tXX=&{UEnIke}GYr-MeMO~Aq8h^tH0r2M56L-* zx|9cXeo9d{ruj&{ti}d;lFz4kokX#~Ac91NIi}4eDx-v+$s5HQGPZz&6v2r`MCPJl zQK&gg(;c3m3B%*9_Jrf_#T)~WFYFPO%v(mN_{i$o4oEDA#lD% zDQSb0K`-igzmQwMjrSiSI*qjhzI>L#K24RoyX4 z8^;bl*&&&j26EA5`mmUep;gy|yf}aMZQ70F7RhewnA>@ZpfdRm8bgC}Bzi+aW>kg< z=5;8Mb#8_Y8i9hDjAmqpb`-|&qu)bwkc`l<%S61$Aqwo7%ipe{K<0qz;fFoVjEA%G zTso)UM7bCjp47vO1x_ZtHl?KCj1AB7;gdmd2I%@bP2er9iGMswZx~Z6Sq<_*H*;w^ z9%YHr7-1lPF3(L-;8Wdd0}fK>Kt6^jS{K!mFF80s*N|W52b>tXWXq`<_Qgnae4c4P zmlpzLQA0Xyp#2Sx$%rfr9d&dZxVm}a5jl(4>QjjF3BJ2hpM0+!STK~f{#34do9;QY6qAObTTSvjL@GIhGaCpEwBQX5t7#*cYCZdu)C_Dc3^eGFkcxOyNVMWO5 zA}!j6oqBnZDp~5754!*N8*6(nWyqAih}e~tX%J=7S8_+oMIPD^ z|Jt8!=#2fYpKCYHTzO<)^Fn96Ox4NCpJzHY`h*7l$UC}>cXY{D{k?;5pIp(PE8d)Q zeASDeX)KfY1TiM!&9^jL{dY(}d*(h7NMqYGU#9h~CTg0;NZSO}ygckuS zW+_G0c^3n^lhUT#I!*G3P(=^^rgox*n%-ixYb+)05SE%h=_kn@JWt&M#wU7boQ$** z+L-_Vt`12=K~!uhn75v@V71Cz&T`T&ec1=Iw6{~_b+9%&tOk^sPrR;nyRT==J#1eO zSgb*Z8a=-$MXsPuyBO^nOG!I~rRE=(zOKtSi2N)AGNrLp%v;Y{uv%rVX5D5ftFNmo zjk>(GX!rGuZ6flV2Zp+aN9OA`s&e$@4t2CM6nQqRJQj;QX8~O`1kd!wN<$r1%N92p zwtMHfEucBi^@-^GMwWeZp5rlht1i_kZZGgsVbW5iAq>ee^7R71JmoA{ZR5qS`VTqv zrNF45|5m?Y;~;wL>Vtj^>HBhl?a`l=EMqRKA{2j-uPOMMp~39sw}N0=c-xt+iZ%T9 zS1c_&ww-PxfYW^Oi(g#cZqEw!wpP&A+Kr0!6s@sQ>rtm!c)uLryyz>vwM4A$NPW-W z-d`!_W=W)_S1UyyW_F&KvRuLPpp|5BE#b{32QW+hEbUlIB`;NOmdsdR8Zh|&R>p?epe;D7rH+PXh2?72sqVb<&S%+fty9S;YNa}u z=*~)ZU^6>UOj(O&y__|f8YhZw?WDD2{b8Giv%XO8S69k+l{Fcj5I@h+^h_RCgn|~w z;$Cf}zI%pNp9gsj7v%R`T9-AMXn79uXk3el(Mb3o+S2y7@OdVWb(qpm3;C2`@v?P` zb@YiJyjhg&C4u{Rx4eoRbzVse6c(-A!)u(l`l`F%wM=RnKI`W`m9MPG2GC2pcqX5V zOvt9D51uL8`ci39ULZX_pzKsoK_`lf)a=!@`@$kxi<9*_zB?|}WH*T0CvH5IP#q zact_xn88A0J-0fbS@Q|%{OVV~y3iFVQUZ(WEli#Sb+jGT(jmJ_9KMlld=~WEtwRyX zh7+|L3r~1qpccO?%UV@3QD(Q_1; z?S1l+jiIw0Bl44h4%3DKGUn**#=);$I3j0hvpv@-K^CIhOn^UpkukaAyN*We#=<`% zkj|oVvQ$@Ph_prL7HQ)he|C9kPyF~E{zR|Jp)(Ad4%$^^Cz!PAVxe~y;0LB!=!tcd zjMP4J>tK~h#xH!~3ribm8*60A20eVqLxyye9NZ%dazVoa`5JT#?|4MRr$y`awqQs- z?SRw4I>lZc!#iEmrl}Vm$cIkZJw(^Z-@^3+4mhC5)q?)4Z>IO^L6_UDeP|al)lTZksnIbD<<*VeqCwyKcA!iP@;P%hix)P_7Inyc1K2I)nflRfztJNr zIu={kzJ}^-U7$g4_?Y_Wz-7lsSTkc($%Q@k*kfVTYb=ZmZ(*;!_F5P@!iAAyl;8XA zyYIrN0t=(wYhh%h3nSww&qj`RVdQidMn<+U62QX9e=m%pyz*@19LuwjAW9jpeB~<_ zMvk@QQI7lj@4x@TNSRCeQNu0lz4zV=BZFKRDel5S2OYF9YMAnD)R+q+C%7lD`bQjb#KOqQmhbK# zee}@_C!c)s);b@0=%EWEMJwO6kF@xgeq;;_C!BCXNvo}%`OIf7j5?#OzhD0Hmlv8N zg@j~rD=kN^7lOJ4Gl!jJFt!f$DV)N5oorM-Q3 zPn}-;;uja4@LN69&2#*XI_uI7exrZz!3URgZ++`q%Xj(kGwNtcd(cH7>rtmtXfdQP@iQA62uUV7<9j4do(5-sghxE!A zIqA768?+yMrD>QYtDMK|5cQsx6GD8`Scc|5NSb_lC7U$%N^Q)hF(o1 zHd2%lxgEuutCvsoL@&1PC5;H!)QY<3(WM(H zT!|2EEfpQ$MTA1uAPO){W7c;R1N=vFP?fV|j*GXmI= ze9oMu6L=zXdGW1YXebxR-Sb+W_@K)oX`>za=(4ohT3OQ5K~cLAjLj5%kf~{=tdFJ- z_VJ4V<=2kx_v_t#W#b$iq@8=}#_=Qo+FgSK!P zzV@dA0=yfBlZ}gGkXE@h?KlE$z<3RH$&u5~Z|TW{Y&Z%-Q@n%@C*Z(myqR+H_l^25 z9evjsdB!Q$&bJSpf|o8}3TG6xZw&^N%YNvjI?(|ReiD*TJ;}{9k&6v+Ol;Eea%5)e z$~2C;*KGu7(Ea+p{N%h8#OCm?ZScf~(Iyl159+ei!*JbUH#&dvoW^FB6SM#6!~xU_ zQiE}-9HS-->GX08PA_8~gE8qjJTqV6e!szj+Cb!E=mf6eHL8Z^G(peCQ4blFaz$be zeoz)gHjg(1iXjb0K+$~1t4jpHpg1z+xK}#|zoB0ritjK5(O>QGITsGJf41TfM62rV za0)U@Sumtb_!BvCv>b!{9H_c`mcuK|FNrLi434JAu^$l!q8riQP~FMIGZC1>M(6>@ zBO1;;^(@dH+Sm)rK-r1XYs4uy06A?SZC@umGiOFG)QN03Oiq&Sa*WcDg-Bmy?zgtm z`2eRWZFGubqr(Pn%A$Tqy zh@R;(Xfu513`C`L(r+Wc6HYjx+iS1AwvHx%uF(cg`CY^PH^`EV%L2)>03hxswyrh9Rdd`svxoDT;A(s&t^_GJw2)e%LY15qb+ z3+)t#=0z92HgtNM|hi=6N#nwKBH?i)#Xfiu);rk?VO zu(h?L1<9J;csc0PZ~U8zLQ@^^nz{#chD_;^G<2C`U+N1Q&ekZv%PqR2eCof}W!P`q<;GlZ+ZhOFC#ui``Of&$6KQaQ@kWh-sk|YA3hUW8 zPK~J{C;;bUh~&W9L?s+8$HmD2WnrkC6{Y3e^q`q%7YQ++cu4DhKF zpp-fSa-~Q)UzA)$^2%bUctV!~iC9GnA{ui+(sQDD!y0H0^>CUJ`HQe9rTXI+C@!P+ zR#ZE3R_egPb3oEFUUEWPdr7PQXrQYt@QObU70>w5nR$l4K)pmnj6g)={84Q|w$TNS zNS(<{TJ5LK$|NJJKGcnlaLycrG8jKOi2_}W+;M?JQ4+djgBBWO!%2{#^!U_X>Q9&H zJpIBK+0a$xc`L3np{LIJB%`{%^qHfer)bbqdW}XM;fc)9widghJL*P%)W@^{TeI4LUSvc>H_%fqnW(>x2koKqmjlbPw;hSa7)%MA96frM z=lwK`$#xw2`IO^(_?kvep#e)Rzea6q_y9qHU;;ch2fNcwJ8eB|S=qIm`{k!TD}nhm zXbYxcE@{RohkHW}HI8*(_GC zl=P=ch*_dbU1Ef<#cRHcgCZMkjKds^qRp3!f!S%Ah$*`lGksUA}r=4!LyWj*NChH{=YBE0n=#MQ)l zcAkB#WVvgN<~;v`m2{pE7q#AWY1vyp70u^LVWk>sTS10D+X_}%pBmN|w0G?^=h5Yr z(w${>o_gcsjytX_aRI|?ONO=;SOQ`%tv8VC)tK=`?%p;|;!#_9JL`?_aspjTlPre! zmUJF?^KPFtc*F0l|60JCb#J*FRu6R7s)#Ikn-%C-lI89Ga@*{(N1m2lSRw$Hu2>_t zlCWIFe8_4+{qnYbIiYbmi%FQK@%7M_d{`?x3DQ|kv)oFh4wi`7ertKtv>4(+CuIqY zXVx&{cO_)M7_xh(##%-7WMQeCHJJ0lvLFs>y&<|_?WcDf^FlBoNLcPRo7;J+Xx3l# z4ZwOd>*)f|rPG^auFO3Kk*j_NzV{7Ap4_)qlJl(7q#S(pc@jN(R+rI7=#NXM5zrax z73Cc&!+ku~{P>-EaAGFLhsu+u=E?Ucg3tU;eIN9o2bI4eUn`3a4Zog)PYy2YL2F*Z zd(wjM?xzm<>_b~vf0?zO!8p1pH?)UXiG@BQ$IDc}bbl3mE#NpYY>(?#rVbzv)J3x!l*uS?eiJ zAP+j>e+cqQhi1x)4#_)I7x$x|$shh|_#JvrdCF7DPA*9LKK*{3!FTsO^Sw^LoS18o zJjU!VHB`5N*Kj=xeJ#{>ES2GoHCYz1+EpYf;_y_=B4#w~@wK?s?j4F@;kt#c48=lY zyIU;C2E$QDhk5Jf(?V(sY#D>av&wN~ovm9U294lg0p*CsY;6-o;MbCeY*nivdP+LG zQoQBk3^am8&0uJXS3R1YM|jon?pa!4fiY)j!LLQh_&oaPqswAwX(`g7haOsZKH-ED ziu1I%TV1ldC9q)G`c||P&7*69F(W$cu)~Vnl`F3uM&v~9l*rK6JqwLRauyzQY}(Cp z3c7jo<}$^SdXa%e(-uSHRofW;WJig`>HXa#+R3HO@oRy!azr?Gt;maa&efu8ZDM$j z9vNt-EYb(OiW+kGgLX}sXyO@7vQ}4HFwxYuuYdjPOMT^24-2kEGIYy=b9KavjSd#D z(;xCvFZ!tto@pzx6Zw*Pj%w2mF6C=OZ9zXyKKbObLnd;P7yohkAf4mw*Z>%%L2Cd-6u#Vqeq?n8+9^DYX|y~gKU-yb48v6q0#IJ+I81m zi?O69A!PGZ8N%BpNlESTbt()6RWa!ZMMFCP!Jz~ihJpj(qZ3d(%0O8iz+f-7(^c#U zL5tBSXO~@e={9ZJRD`RMI91y=|M{Q)xs+iyjfUv=N)$+Ai{9`ff|D-wqSy>keU;CM zDGM-0%Kq5LKDLxWNo}o@S2-FHkKog9N@LG8+1WW`0dQ?-pkrYy4}S22OK(g`93lef zk{x;MzWeUQ`AE+&!4OaV@#7-vbO7X<2!nh$@JBr25#3Xt`qaWRr39Z8l1yz*AS3B( zsD~4*?6zSzWTVsItQfA7dE~#vEpAa18-Hm_JgJw?bR5WCI&z~Q+Q^=6G;QVGJaVMc zsDqAERIQE3h2hGFXPvzrY4lLXNzc@k)A!tcyqliM7FoQ~V>HNCd)teRzIBH>H_z-k zljre|e|&kS9d$^a)lhGBQ63#rp7~tH4)ln#M#BkIoFqNAb4YsnO&0_yz-e({($gif z$yo~m8ji*@I&JEMO+E6Fk1XxPvAd5)&p0MBeavGXQ}jgp)%^Re%{X55BzwG)u~VYR z4-FlawB(8gns_Hm_4W*ZXa(-EiP)rP?&ZD!1RcQ&n&by|Z0nR)uW5)x$=#m>PK?oJaV?|fWNcB> z0E|NfYs(@~n!LbbxJL<0|c z{3xCJF%pgl4Q-`8`%rc+e3C6^qEp~x&^3ZkhG+_;At!A$RQDkmL19)r3fU$(cBfq;Rm>M8+b#x}hiwS3 zp6Jm_(YYbFDVP3>#JYTCintAN)t7FQLCUV{txQ+ix(1qTluXbvJs`p+yFO}~ppES@ zHx*&~q+vaK!vo#X(bVYYpBAY%dqYDzDbv(XR$|Z%`d<5%#dLL6%uE$im`rFr37&I? z8b@#D00F}g5e+&KNY+JNg6$`UQ*Af4z4=?wDppwPAh^}w&*ILAT@1}N7;2J zAuoqI4rui0Xy2n(1@yLi6SKyxVb&$a{v}&MP*GYa6zP9vCB)iW(`)s{T3B;Jj zfzHWCcTDYwm`yEB3o;W?XEXqd)hq4llOEA|zYUk^lHvSAANtS|$&I6>!%$~-^^9jc zqg-@fv^fq#wA>><`tJBSwrVIYg6*TPAL?zym9kxi%o#}z>02CmA48744|c9SwUsip zvCli);SQxdvaIP$Lvt3)<&w?4QQFLlm=_z07zx`%v|%lQ>76MD=aPmLA*v)NC)zWw z0gO!K7KhOv&U2QbBMQ`mn}gEpNiPbK-_Tjat7js7y!Ra^$cG+2i|pxA8~s<9v1g zbXvfneDauP#HoGQIz2{HUQ-9={sl$KB767Qn=555C#IWZ8UvBsUG8$1@)nsxGN+;! z3^YPu*^(g?=c2;qWz6lUluB}LLVk*bu0u{eGp9t6y=~Lmr(p~R**Ru>uytKfZp#bG#5cm`6s2e)U@`uyVpzs_N zV=?chp$wm-6BURY@S#j|Ki($lkuzt8HkiZnMw+pEDN{FgzMD!=rn1n5$Zs4>n0uk1 zKGJF8I1p*Q`OKmt=DV}r6>s#7&55+gfzDgW;;lVduo)eB-}#4c zH1K8qQJv|t5t)}@IuS2l@Z_C@G~?muBb&h7t8`9_*SUC}vV8UtenP`<`TVYj`f(hPJoyCa zUGCvay~tVA$50I`>$xS6Hs9-e@{=jvO2AkzxzA^I`W4XSMI9^dTg$i72u71>Rc@M%4!5iK#=l6vqnuT zaF0Df-ChuVbHC4o zd@=OXEJapzI^UH&ZQdcwlXnQ($UL-pLrZ21XAN8X<@jx0&~Uu(s3$?b(3+L^nnu5^ z$Dz(sW8D2o5GjfZO)c~>sf=8Go^yW)lb$UHHq4Q9+cV~M5=+52br@H^$OKkeQESvZ zu2z{##WZau%{Y0F!z^;1B(F*3=UKnZ`u;qartXXJJ1-COVBI-S?5w3gmIL$Fp>C3; z&{+%F)$?BsOG7%IrJ^2ouOw>zS{t7gbG3r?ThlCinFM+3{3dxV88P|1k)RG<5O|R? zFVM2QCreqTfr)xUK|}m`+G8n5IrPBtvehbgwV_^?pQ)#pLCXO&>B`U=$n^*>2^U*> zwY_03=jpASHD&V{jrk8-^*Bp(ym@ngf%_`~WmqCYY3Jd)54|$yWliOBz}i0RW*39# zz+z@QOT4VG6wBcrE7|$z;IfWRy{#$CKKN}3>PN>d8#?&lgS#V+IHD}4v$l6$plvPW zV(T&21GKU2knE=6FPJ<2uS5Ad%%>c+bL#&Fzd1__==JDznxXW;q-Qn8rL*+M!4LJb zar9~${m*I9Pam4~73BN0LnINOT_BddI4{8NDa%1}u*wkX^2Q-)hSGY$$Du%<&vCTf zpHy!DSwHny=~WP+EHNv_w0=&7U zh=#ishkIM;?V}wD7Gis5=Yk~%7L^k|I(B0?rAhSTO>lpClXMoVJ3>ubZ$2%&ci%Bq zB03I0bfz4U6ldeOJi`-ws0ZZ4978OQ%5De?=_$A}MImk&LJoKN|V1`jyLiI0fzf@k_mS2*wN;`b`mX;w=%Uo8f3y=tqP#)qHFDDCl;HqszY7K7ktk_BV>{jjBF+$ zQ|a)f4e>#Dqtl*Q-ljZuooBJ1jf}Y>PlB<1OanO<&h8&uyvz?V0*#@;fHP%y9AQ8K z?8-rh!?BYn3YgP?C>IBTrgWl4wCugLE9aPFjw$JDP((X0G?Lv08r@C`%51j`XDhFz zBGRIdPfo~=3WqX;Z%Sjmp0w)7plt;M^O6+Cnn#!4lmg5>9(m-EMJ9H*sF$^p%2N+c z4IR6lI41m2EW4h_E~gGn0v;Jw9AiL^3|!lgH=|M}FnYXEYz9f$?dGz7+AbCQ(8)_Z zJ+o`0ZZl=6D@2xPaG1O^4HlpbfTVCATvv$I6$;qj31Bc#qby) z*>I-XoWZMy@0`Vb?|a|kkd=l1$e6)$a-5&~(p7xei6pHPiH0CQM`00rI{QF}#(98x zYb)tNy*MSGIt_K@jOYLd7P-`rH+pTC9Nt8{c=JrVm=dxJiaq2R*!iV1h<>7B>V{0w z0y}Zg!4HQmk9JZI{Lo=->0~C3UcLK}pH8q@c{ypFlKa}mv4c8mc1a!_H`sZEe>$W6 z=wAYojgGm8?RqYa%25#>Wg}!pMQJD!i0G_)i*o_W#L(RHi54&<#=s~THRocEk^*t6 z%45WojHBr9{iV1Ji=i=A=Z)H?s2n`$EhzyfB2u zb$s%0lFEousDpC`?X?yuP|P?cke_2$2hLwqVoMwT)Onh{-y9_VIhh*np)bM^VRAGg zATUx;2W4`qk+aUk#bE}X;g9o7y|e|HN0!=9S=u}N>kt{LGRR7l%5bz9Swi1wang)h zXW$a4D_gtciL6AGXwxxmuAQ8eMaCjE21>?p%sNZ$N}hBJA9#1!c57QB{)Y@%oyb=^ z_Mu!3Fl{*w;SbMrz^4um-5T15&2X^lh&PUq;~^)qp!4d@d6J7L9`LCH<~%t=GN9Mw z9Gi^3g0`gZWI!kJ=(oIR(}i(!?b=A$=sI}B$Pu)w=$s8G8=W{{?V${G>4t5z&VmR( z8yRyuPlzCVYG4ZDJEcu8tjFOzrx6-wK=GwbdNepsN^6g|iFjF(df-z{_>ZXOKmXZScVWef-)l~G7@!q z;i4RSk(H6iJ}@m~2+b)Pp)f)YCmoKLH93BaGZ0lr#$J?(@EkLks56Kj0f)q>)m5ZK zemcx?b(FW(1CZ9ey1wHe4Tnt!@FxQ6^9S036HgTH;%Iep;L-_=J{Za7V%}*UD3612+?8X-Oycji-+o&UMXjL+mPW*)hvaaFltPqa=%*)j zAcv#qD8n?6PJM^Kz|G4#gu}tM_U_k8T!Vs(5~Fa_g0YdaPNfFNqzyz{o~IKtFU661 zrakcQ?*fsN%YJLoW-yN5r9e44RC}4d%+hv_5W`1JAD`NclgDQcjd5R_<1g*L@4ow% z12H&G^UY2|Cu1kek26ZL<&d?p)5t}54Baq(Tpke>-RVb)I_yN>lfZGBOLXcxy%L2E zL3<3fKfVM4bgY(@h+f;dCrzLKWc@Cn%qTjAj0iO znTE1DAakXjp(*0^A~YwrYF5qhYQi>3~rD zJsnXHA!=-I9s|Z|$nI04^bLkF5WLBI5hP>jH(m^lB0k^&4=9ac7*1gs<)%%Wia`XP zq3MV${BTN~Ook`sX1p=v>@_CG?&Xf5BSodi^{|qXgm+i?b0k=X<#>}fP%cFh@hX?& zM#m@mo<$a9U=rR-BOMQ;;{;QVxm81I^Gfd3M&nPGcr$LDr)Y>1P!DsAp|6b$0lm;7 z8#LS#v6sE2mKTcT_<=@ouLj|}KM`GWH0^BKKY4xJ=l z`FtlEb(032=%I4y7{{t?b#{NFW3IjJgsXvv;2A}=1VfK$PH|k?pk}2OuKTMk>~VGL z^Rk+}t%V%MVThM`_+wxkkfk%`$KnhoL3yCels$=uIz1$wPkJ2)m-NG0J61$AaBQ48`^a}+R;+5 z%{osFV|h#7Bu@+ZYzG`VTF&}3J6!tf0f)eWdF#1au-wS4)8tYfnX z-mV90!K@kcM$R5(k(V`J6v=WBYri}f*;$I>kP5p=q_;kdp%_jWf;s?1G$mrPX3aDC zv!I(}vb@APGi%h`(~CN($bxdeecFkUwP@C~Ib|oOJ6S^sq6KM{sTa*cXWL6_SZio# zY;Uf*s*^Q@cJ7Eu@oCK+-tdVZ&#kdjFH-@^w+lLfy0W)krJtqHOXfXPP?gprpE99^qXwhC)p3_58cvM^iR8}C)(tPUcD|mzz^HRH`yeA zKiz6!u2LCNT&6_tDdG$eFcB@bz_0X&5NIAxXZ;D4Y zcyX3w4e4rd0JdvJe%gmj@k}Oo_RM966Zug{%I_#M^{OEq!*a+4=fHUJ%h72A?TE)X zQ+39Je2y@q2V|h04)m}yCA(&{E!j)U35aUYkk$}B&eZT4Es)plAnk!~3)txw8sy~w z5WH%021>WGgC}Wq+;oW}1_}5KhiCgHI>7nmQ~OKfa2mSEIVsbz zZ|Kl}{E>+|x);X@b{o+XWz$W%=3G?ZkZmY%PhLEeouN3#M*q}Rz0g%>JZlRMl@6pV zdF?lsCP?S!8KQTx4gBK8Vrjf^Y7AENM+s~v6!~ggj!wO7tHXogKO>?DH8=?A$;JL_ zYh;xZC1x0Qx7ZR#-nMS4L!Y;CAU}0=j2nKuBw>6$T@QQM!-{Os?(YOi86pMy(9s}M zbhLrAoSGv5wVMMXoTMeH0nf>ooTU-PiB@bewRI9bPOC1{cTR-!F#SNbwq}Y9@vZYP z#CM98{GN%fI4k_hZ+qv>Zg#U$CL?Erbd=6XPtNk!+lu9@`2h4>Iu?#vy~B@}lbnnC z0-EHPgObtLW=^8lvFnI|6XA8A$qdI=;aRp82W^FE8i%eK^&UXeRH7Wvk^uO{Ylp4s5<;15xz-i$NQ+k%Qxe3e$w2+SqY z$ag!C^sbb`keE{FjrB4NL39(y=Q(f$@&hNzIj6@@v+h7V^J3!gy`Ue6HX}dVVE2U`9=`is zjEXJ<=yIwyisZhuMie!Flgf>bD~oN=mpCK!iXG7lwkKdoeS8;C&>?N0GmlNkm+zCH zJeN)`^%V%YeD8yU&8UULrYrbZ3_6}bz3|+pZ~LtgjVM_3D{vUHx7EU2&J!rAo<>jL z61f1>t*roK#-iR$USfNU+XbnU5-mk@du2IFGf zIaI*>njxxaiUX)2Vgl(1MLrE}IHrdbX(STqH_#CD%6eD5q=wcD$6?ElSNAn4r-N5R z4$j|mk*Vh{5#c!0N;C;I&w6>oJVVlyA&L}rsbdY1l!#M(I32?*b3^1rF6O#8e|1n7 zvgJU6X=D{h8$%?2(P!#T?)@nRz`LO!!{8hZH+4$pK^dp03Qf^yB2sb=hWHB)L(kkp zqaMZ?a*I6hC#q9+U^q-C<(UK>y!<&-1TyEROwkWnkh^lpJ**-`xI}Jr311++7dJ)|+NIBP=1Bp+I=$4Fqg5wh%c4E@ z0rHqS$a@H7%M%z8iFQplIK`iSs{e98w9YT6i@NqlZL5vBoF~O)S7py2@jGoD#<-I`UG%A74|Zp%$g+qgIrZ+eh+ITJU}I z$Vj!dHZ_k-&R!nHc)}Zmue$yg zNVyyWoujYnL6)NEw5d5bdXSe&dFclD;b_S~8_~IRVw@YkrRPM#pLu_C>|T%=P2n%} zYX180(n|S;sOoRNkIYi9@XPs`)Ah0@?ScpQq&MHnX{)DahSe$8bIwku$SIPEd0{}; zk%IE!0ZsX{62&xx_NR|{(J7&g4jnKesppcRU+-E6Jj?Sw{23fJMZehTS`XXjTB@Yd zA|Sn!Im=9<6S%oAlk_4HO0Kuio0-oee7zEb;Aj~f=SOJfp!6;jFE11HGM=ML>3k=6 zmtI(U&+r1G1PUr5&OC{H6hw5TT)c^#(7>Crl&OK_RTmDhhWd&Ya||2Bsd-TjUeePm zM+74cdWPD0A>>R$(NXdSjE`|rUiHAU=v{g0=$ZTsK^f$uJcf&3@{`tg2JM-;<2m1T zG6DH{CO>(|%W0acV)PUr%>b|Jqn=)nX)|q3e!zIp$tZyH;8>-Le8>bHdLb&!iz)Y0 z2fUIQx_B}*WNugFhBq%Q-Im*XT&QHj*>gBKl}GCU)*=&w4Ui$D4=oeM86wv)E$gQF1DqhpRXbxU2+mc9et zMY`Grw2QWa@NABs&6%tY**RJP5W?S+Llb+!-Mw3 z1HQszpiFehRJwW;=$ST9ew|NSu}{86dM~8n8}P8&n0s$~dcJ9)xaU0QIc08inu+9K zErc^G)UmHD>kW8xk!#veWW;b72<3Nx?Ngun)S}djA!@W*^`0c-X?dAMW4SO?#N{HDcf)Ctx~cIydqdnCrUl#4L*EUt$2fhee`!@4|9(@<1&ECQPbXso89PbzC# zURHzOp)#f|H#WnGOpDd16Ref&))Us`R3*b5(M>&6!Nw$3DA7hh>agA$9`M@d)9}m7 z1j8Xiy@s`eX%FpVSlh7vux^f|!^R|5n)7UEXjo5Jw;su)c9w@MH&(m9uv)-G{Zh)6 zRut$Bu$M=Z@=7=E%{X{b;bqJA0&vSU!S|i9Yh0!K#(Fa(Nq@V2Ivs7^@Y+> zx(Lpv^bz-lY3pek(-7Lv zr|0CB`WiOYTmH}|Yo8(=veCZyr3X-#Q%`ZAM^@Tbz3Gm7(I@SRcd|tT&G4W0RBq}n zA39`U{h_5skhY4IyPS)^?8#lPRFH{P_RGGiC$-pgM@H3 zxOIXQ)PiQP6GRlC0W1c#=+!O>4vx{~wM z19@7kZPyk$7MlY((H*qj2^lLy|^6Av+D z3%@x)LtC3D=m);->vs+V-u&%%My;+Eozrh+Qx4rwS9)&&Ill0(EEkzco6Qjc zo*cBSoynKo*{voIy2`a1iJn`V%i-HGCVlLU9;l0U(~hP#w0G(%uZ8zy$F|+mPWV+P zn<{e3l?ChLz{wffvr+a;AK4z=w*bFhs;CX&ZYJG;T~%+}eLwz7@c zb9`tc2NTf~a*{`fV&hD$qsxi8hwTLah(|o49Axo?Cp@8ee2toC49w8eE(`*sIFEVE zV@i7aq6tbm#z3JT`N&6>)h0SqakAC!{i&DBY07FB=E(u3}rS}dUie|CDOG7hi%EC!<0BH7?nJ_d? z7}B$oO$|GAIB>>=e?vcp%TbcGquCsRm;J@S$kbn%+Cd#sP7U&A9ONXuT_+R{9iM2E zvHGG(&J00EP4JJF&Rs_V^g=r*N8P01C~V-ceHIUn=hMj#A-v#= z&Zsv%wX-OY#-$zU_k$n&;Nlq7$9;y5KK;`sc8#Gm1nDiBCok#M&$2%{`0$56ymaoF zx723%chHPFXj64d$D+OQL$=zg-ZSr+T|DUGmrZe2vp^@VzGOl^_^rV?+iiqDwo11J z1AX9|4XUTMrBC#b>_z09I$z`2&O7g1f*U?(r7*YiBnUkEO~rzFTI?LQ?>n2 zFGqO^jgjj;M64nb1}m+oAP^a9NcTLWFbqIs6U8(M1g zjET}|1ksruIuqoaZD89Un#!Sg@&$P6Lt4GJ=varKqfw{+Hc)xd4F4{U)4pbrF@DI4 z(gY%kY;RL15f`V?2ZxG2!*Y>}I=Yu=NtDgFI1)6;MaL#e;cWb7Y}%m@a*Gk-UwdZ@ zp$k2rc`S0)(^!82FpQOVl(l!-Q(iQYgbrE?67{G?YN-SeGY z$%j_TRR%}o9w#Oe7U|L3c`+oLzHW1nwJiaj=#u)`zfX_pgdhO_+EFmW2PuO+kZA(B zmB8H2vxW*%prMEa7=|>W8AB}s5-DgTc^JLtwSax+u=)`k;f!;L?xC|3^yzR+h7ugK z#ud#(@oV(U8RDmg1{W1kY>tRwFP29c8RC)|hePQnMPcLGfz0G1e;0)mRj8X@UzE*A zOu1xL0{-;!qGs|i1U5vfo%axicvDX9bJB*vWMXJrcbJnfP5ahuWhm`s1^v>FbyP@3 zWPqMaK8|gut*60aZP^DI(r@~_)VxEeWrJ=48}OOnz%%j~s;B()#Kl%ceCQYr&4R`1 zWi&^p@TGkOTz#NHr;VyOMG+-?FeL}_YR5o&ztv%-FqiWr#~thRJjzh#m}q(Q|sKF9%=i2Gn_ta&!#n)B?B!~(nvI7HKi|E3g-S~y7g$uMQ83;PmitQ6*Qo?r-O z9);61dCkzqMN>|NF=TM$ndpWAI{Hk7IR(G(|1BY4Jfi3YqdqUeVGhOHd$N=}{%ByS;JD0NlM|ibO#AX3 zk`1F~NYZN?b?D2u{;eExla}r%D-McNWn?-B_4Z654vJFtlh{-C&kflo*bkhut0?E(JxT8Q>5sL5fa~%N1uN-LFct~UuJ?Tj!zpYk8TgynIOvxG3Dj0x{lC&9lN%|r}o3UsWI)lQkd&) zySJb!AaWpliY02vS<0bH=GC=_-`dX+gVLm2Wz=;icRGq!JaN7mF{q1lcq2z?@Sr~0fpf;EdetB= zZJ}IHrg|n?GvDbMe(9#V;g^in&9saN8qncr$VL084?gIMOVq}xb9m~(q2h=A&>MBp z;RqCz*GFs#Z5QWB#$?3d1!!w)dM8hGn?BQDb;O&ta8EiH`FY8wp6bL$=m^wTKJP5X z%^xoZ=Gxm%fi`d6-0i*h-sLxjU41B`e?P_c@7F_zp*+dgSE`jlU1lHQug@ops~>QT z{^Fyzpi6Ds$Y%)3Qm)UTa%SJ6*hSC#;YbcLT9V$ zLuBRUoR@Th5p%Ah{%K{g7?jbkLygq2uLnV%yJp2=`Rg)r4efEZ;}99IW|<9t!A5qR(H--*+l&4z ztMe44IU3E2q~(Oh@YeRAgAQ6TXEp@GYkQZoV`DX;&X!|k`N(QOnf6$FgE}v^7XxZI z1Kx786)!@)F%Pz7Jy`a%y>~cVUl=Z$1R>Ew^b$miGEt(}Xc3)+Ac!DL^lmUjB%`-z z(MC5!km$WeZ=-iZbfS$iM!kD}_uPA)^WVMad5%9Bd+%9m?X}+b``+(+d*b6ooGa#+ zM0Zq;N$t)cw4aCX>xJ4puI4Z0szfz1C*%uEt~?tc>knblFV}lFSWL>=uvc$y?3?KM z>*&3#G^#EG(RXh`vO3$c%5J>=>CSwfr?Hh0Vz6ld`K1pMoZKf@j-FEBJ z3(Eq@+K0rJmlQF&rLGzsQJL`0i5#=99N5i7b)KUeHrV;rly#nWAUyW6S1MG|-(t>5 zWp(_3iWk8Wo#7~!Jknu7)B-WNTvf8$>XGyT^UWmYC1WiswvW+xJoauNFVz7o+TX{Z zz*g{F8K&y8+|Mb1&3-7g@`=lQ^&V2ebTRu>+iYC#x<2xNg84}H@<)x|a8&u+NYdvgB-TPIxqdC>V#NW%DKtgQF)&wR3I1v$PE-8xKr2lwv9peP zv6OZs{zadZ7-IH~kG<_@gIA9(sxz;T5wzJCxmcQ}j}(aCF6<2BZIw8|HAJJtwgNPJ z{d#R$ed#gRFw;d+kJbqht&Z`-cWu8GUefG6>3DBq`ZT|PnHFx`Se)K;I%~i4{;V~2 zc8>(}jEO}+jL=z2Kvs|N{wGkxwZNz9?%B`prLD&&lEh(uW?t;jo3C+769->C)OhKf zOl7REi^&iS*6BK)oocS;p?E1~l(d|ZFf8r%H#E)f~_=@RJ^@;n2YPP)}cSvck{^stykG&;WfWGjC$V{=5n zyz*T@*Bf?Aa!hYaAOK~PZ1&QOIU_lmA&|`JcWvWcvz)o(_@A3C0#$bL@!)69N4-b9 zKxO0Pk!sLlIkV^t0YqXs)M1O1xdS1Ld?Y<=ei&|)!2H}JbRie4&SH$by_1rtQ6@0X z9YNcC@O5q2q?q*rW5n^3R!!RRqXE%^>lxwfWXlIo!^LWj*%q+Bj~mlFxV~i?=e`78E)mMVnRXwRrELcMGLujoZ2XZ7ZkFTIYZyv3rr!rRTWHJG$1j`X zp7TdC9khqY9cO>l%N2-BuvsPm`Lwn7ob_GBb-bN+Zn>gSz4L^2b~BQ}YuR|%ce4G3 z;>&tH4uQr^6_CkUJ8iRWKum&zcJQTh2Ps(D5^3LM9i5We(3+BY51XV@Zd1%f-Ui zI1Y1(lW~K7k(LSYs>^+|69)S6cDrfQfK0$kk9gmwTe=V9-F%dhuf1J15U(u-wzN+8 zI^^2TT;uXLj5}!`-m<0TY%&cwzt+)aVphQ(?4sQL&#rkeT@@J*e}(yt#erlB6M=xABpu? zt{a9r#ZC3l^Zx^iv4~kOrn_lWjopMBLMG}z0P zc9SCRX7O{tYKM%cU0zLAH|#h2#f3C_=$ffTS6*^q;wl7CYGgSH^a~R#v)ofi4T+*fCZ9&k)} zwsjnu6Xf8|c&|cPjs2-9-iZS{5lG;8)_0mIm147KH(k2H(SAT8s*p z&vBTV?d?yOzK)IKv6GXsBUNw~heQLAO_&eUUSu=Nn**3 zGT)bvRe5anXMn=qtZE9oFIL51bWCWMf0lf7v9J7f0!h%nt*?b5l|6liO1^(tu163$ zIefl99mn-VRd1r;tBK?XmUC=9Y6#_|O~vgs@qm%m`17#v-j=&*6}yHP8}ql_SS8y_ z#PUcJ04*Z7?p?EQhGywez0E2fIZ7Ufc^S&y>o$q^>?V%SQN4tYXyGR=hEFaIO{M>a zEf&U)kg<%vHg_Y5eAz=AI9kY9M?W!9UCjVE>D}Mu9j72ltPq|*M7QSOeihw1utv$U zmTw0O+Z6f;c09nS7oDqeGH;~ZMQ@2O2dNe^k^^=yT9hP;njfU`l_VMd97*g+?Nji? zX5-_zq0f0zr+sTnyOjHNr`tM;g8QKm=<~j!s6P+ClH?hQHxiI!t{8Abkc24NmA9)J z#)^GYckSE+75gkm(D7F3_s)ip=h%3|20|aC`gk-k4E@o*<3M3y^Zs?OdQ(Tu*R?v< zyleG%6!OMQDTRst>7oh9e;a>-53R`vV_~U`(g}Hm#5;f2^O46ici6PAsO?^=lckRK zj(C1<)J~;Os3ZPfoUsGPR^scag{y}7HNnna$?qKrQDAcLw2&<$_VcN#NK1(B*s$c? zGZ7okcklS@h*BRAxqjY8jIGLCNa-i5UH7#*uWGOw+6M!*tMQ8Cdf&qH+# zNRdn8cpp(JNN2>=tuA)E-qS>QlQCpt6pROnhf^+bx5SejltS-le@)-9I?3CuN%I@E z+fitWqL9hudv-$-|8Hz&(lh9K|B?UXaBu9`p{Cg(@o4NlHKg}vXso>Xz`p8D#=M~K z-Adqe5p1z%K`(G4+S{^(7<_3Zzuy#(1&@#{kZ486#Jjer_L1ttMxr1a-16AoHC-k> zcFC;Vs4-O!y^sgYJ9tg0;?18NU9Q)mYe!oOY-04rJ9bQ>t4s81%k)6MaFg?X<5ccw zhZ)lxY+@Hs3;Z*!l8anCCKyqv-E-%tvn-6l4GJ7*(NzF ziLJc&m)8nXAX;RP`X)mLm6!wm@WG#3NSB19__st-+`V*Oe-j^UcG6ca>M|p#9DNjZ z`4k?NKzp*;>UAydvxQF-COit)xGRKa^M#JTBt_HJ>&qO|MHi;<_r|4PY3r2Idc_>2 z;iI{UJ3uGTqQ0GW1cT|&NH16EZyJj3%>A=8e(*F#CZCnTwcx zB_|b4Se`e${iMBv9O9?`)A2y|u@R*ArEf-*$7*judI0`scDc5Q1_>KstH5n_i|J?P zut%wh=FBUgp88W-zOcIJJgZvR#~i`#6Dqo3PP?XWbu2?+`izslU7P+7YO%D#gP9b9 zxBK`6f+(06eBY`%I(=a)m}2+YnxE3pd-d+XF3mpvZf1084$)rjM#(Q*CPL1vw_Cj= zTl5V?uXCTW*r>KmP+8dNeq0OV5{}#!NSjPJ$)j_P@Rez8Cs|pvF78y(}e>gQALuHp{H!KElU;@D^qIXUdP&Y;za4@1+A};RYck0khOGObwRhZo)bx zrL%L4e$FQb3=MzWW5|wM3G|; ziE0s!2g&vL$8?TpeRAKmeOm1JX*3(P*~_sI;qe&$9+Qj*)3H>{PZJPUOqmm$o3XcL z3ot1r?Ja&Dgg5`X*JSZbIgP*`FSjXYMmTocy*A}T_zsZK9>&}WaXigEQ%}gYdNr8e zDxH`*@%Jx!X+LVx__EbNto&i`gl`oxx-MRes9{?|_Ftvmt?$cM@HFoi;K{ZjhUboj zTx^+L_-7NNvp1g0+u-j_`A;5@Fk^P46t0+`H#A$^oYJ4iN=Ymx z@5J|!2FCv~^aqLSPfZjKn^a?b|5WotOg6_0)f|b&IfF`93L87k9DPJK1?DKq=PiHR zwT)6aD^2kgc!qM#H1Su+Sm!U3B5Jng@EWTyUEVKZJlG9W-%RgHh&dx#GM%5F{KV;Ab&c(V{-ICrDZ{N zF}4oytaxRjq-2d%p*aWo-h_OvqwPr}XoSA7XU-Q5diGJ<<6fR#>4{VJ4qV*x*|tYB z#&Ymoi<6SBYUWL<@z3X99HHA^v;hvP!`uA#j!EE4Kp0zCVFcU2*R+TJ=xV<=0 zR*(X)1Qo8mF^EwnVGBnDL!8!T?azgAy*1@tb7lrNb9rDZQz+w;jUAY(qb zz^TfVw6S>=3dYV3dR1R*8N_Uif9|KK)cE{;^H25VrG=c_sRxz^G z{B#&Y+TnneAP0%qo`LsHJFgPK+*Ej+R>WTf46Bd+xcY3v$SVcB2-EKJZ&!a`bfT1w zK8R6!xz)VD);BUE|a~aEm-GLoa^bpg=6^L{q6MzTN=1uDOt2gyf$PzNo5Xdx1Sp$ zSI@t6+LaW!1xsWI7&9eq-+j{_v2k4MWG_?5c)cZWZ0GJ)QUgC#>}3BEA(xuEfYU&rgwgL_6`NIejaukBvJ=nx;LPrZvyqISUIIbv{vy zci3zZ`)Sh*e+pPp6h5E!>Y=OdPSKOHC6elo%U!~MCdPsI(mWTuZT!e>@Y?Qaw{j3~ zlB#&w$CzKx&Ge{+C!dl$yacA>`|0()mj3Y&=D$ye9oX@tjfu$9HQ#Aaln5e}-Biry zkJZ7`X9uqt$=_EOf<2N|8IpM_C-I(HBOpyM%LBH$Z53DDGNGl&+vF?N@E{{?;ok=v zkZb@i_mVRpAXORZVLq^Bt-d&&GEf#K#7dZB0ZC#)@{!fCb)kPl9G$9s4jo}eq?p1~ z=LjEdS>G7_GOOcIXs|(nh)`nZFA_*E32P*5Z@OY&=0~P2iLq=(UV@mlL!V-d(gU_p zJddl=Ik8yt?oaU3yJX==Lc*OY#>*otmVnzU^D8Y` znqa(b^=Tiu-EWQI^fxMjJ!3@sxWY=uBCXx+QKuA>zY+u@nEI)v`_9{mb?@qz8Y(QJ z?)RD^@mAY!Hw(Jz)0wN%qn zdsG5wQzB-^RpxlrUafkU$g}eTZI*r8AtMiWS!3xT^l{THg(dXGQg;30K^2A}Cf#>r z>U3Hv@!(r&xqA{!Exq5}L$7by?np|0R1+@4W~!Rot-KZu)nTUTPImK1*bX&6oh**1 z_OfV_l(cdCIElz9qEapM60>$xeoouY3O575=k|-$ma&YzSF4{`kd#A)GwiRW+Fd_# zU>xkpEF3hXzY1o&Tj@(O%DaDuEF)TY%_c-jP{AU=G1p+mv1Vb2`dx`QP!e{b>nf`b zBU4a_eAFJy#_6tur)%=udYplVE{6g|BZY95_B1(HzLmXEp(EWQN!~}H%N3pRV6v5) z^M$b*v*#=I-1L77atEz={aZ8a?>)MLnCL{VRWzA|@`Zld_(xLZQ4&Zwn(jLl<~l)_ zg3yy)+Yhb`khfy?Hbk&=Uvs+##wD6EICQJU9xTsJU0rU-w?1qK(msD=yrKbbMMZuddnQ<~CVg8?o|RCQt)A*69Ec$0n8*rr>dGs0#Hu~E zFN_jfk~a!i!P^fbo2TkLChf+|@~EVhLNN>8#eeISOSV<8q#RebLH-O$LV4gNCKUrx zG-EX9dxp>D9??n}WP~rYJ^hdw5(YgYC+v8%Cf1Mo*p&j!Kd+4SYBM~Km+uA#ypnb$ z$}$kj*<^HL%Ix3#ScK%-cJg@qLpYCsd05w05`U|**f+)GP*`KU1w2+zvQPejfcg0x zL6w|hK!r_po`Bo%egIY}IxTqpF#*?a8^SOpDc9VmxwpoorHW3%fx&urXOZdkbC+mE zt3P_0cPw|V25;!~5tQ_~J@HB^2IL#wEw0=_u5?a9+V|~Bzq#t&(&nVNO6`ajv`IlE zbfaR0W(EuCo>;XTY!_xJ%{$beM!R@>tQL!}waC)(tViLIiT!PQ z!tR<%q3G>#<;4_>=N5A=EKFFOFlW2{R%2}&RreoA3UT^l`$l!XDE|~fZI+Bz>{@z^ zl53rKGu)u-p7HUp`fR@Y;)HZd$twqMx&OGjo$g&!^a{Oqi{bFnse^8YYVy*7SMykM zZ)XH~{m9U~F4;CF8CbZ9B6bT^$sEqvIO?ukKK!7lVOSg57@aI;w|Pe~IR`5AeT zp`GGp%s(sQ{qf6(<~QbJ0uHd<$wFq^<|Fd;jxpHhyS{}Pn^|$UpyHk?Q&weneyE?A z5)Uv_Vf<*09>Mltj}yM@HfrV+R>jj1_E{6zn?HUh!!YyQAJ$GGvb6w0?av?4Te_Pk zV3&f)1>;D9pMiDs{KAmHnlVGEUL{IW#y?6DGpWcyDL#P|W?Rv*I7Csb$~ zGV*%3wej1gnocBZhl?tLB>ZtnvJ2Cf_eG(*;8e+=L@fCSSb@8=_FQJfr;W3X`G{ZO3CNDL*i?T~&FWqYg6d ziC+%=vl&jyCZ)FfIVny-VN#6+Vx8UjOIgU8%WcwYR*Si3n2Cj1^kE*E^nT-!@phKk zL2BKzmXbG*#u(zPSOM8K=3vV~9V9oZUJv4V#2t7`zZ`^tYIZN+DDyGX^rqq?9NfS_KegUub2SzgiS+;SSSxRB$!O9 z(1XPzUE6PuoH#W=SG@W8v5ve)jz_y)1)0YrgZsWCVhLYGfs*Ol6HOuEx5-`5sLD6P zFfPkU(igwyZJ#CxiGDmafN7XRZk5b;C-e22J{lfv{p3BOXhyS?spP4{(XR%%JkjYO zSBgn>9yZ8qZEAMQ?q3>tsI@E$$t%mm?zRJU>mZxHx>OMY>87H`L-r_A?927 zC66=#`EWLIT!~bU2G^N~j;~$@)?Bq{7dhymv6*j>DDIDFb}fI0jpj+}czl%bl`LR& z;)5VIAvj6OtoJeT{$7Y- zKnQJS?|z*QxQ9&OoJ5^9L&Jpj1^Ft+ozwSfl^I?-vX5-;@=60P-r4zPhj>+2lQtI_ ze$PXGlJRMfr@TtVs*gH0T|l3+oMpFBzy9fFmBH#n# z9pNm4nq<^S%egtJM^E1o5>~JMtVh(Bn)weNq~PD%zU`aR<(l$bkfLKtFRe+PnsaY~ zpaBDCrz$X6wDgJKe>iZR!O*Niiy3q=#E#SK%7IBjUOMJyT4kB|i$%aq zeyS2`Qt)@NR=kgtl(aZz8Z70HvZ{fSNa@r_5FPX)n}n*ae~=HW_$_{(ePEmIfHp;K zxR5xjm-tmY8$o}e27h-tY%pV)bTjr^)(w{~>sP(|54l zcT$J$2TzL0%P*hEWnHsSZ}bw`pABZ$4zSMl5B9DZvwGe>aYr2ucn@ULj}OZpr5$aG z(1++E2rDm3_tzRKPi&*|4keG74)pNIJpq*XSQaZG&(!sPN)6LvZKB_`KD4VY+n0uz4`z_o8hIWV8 zKXbRVn#uH+1!y%yVoW6J@UMhf4(mmb0=&JCT|gp#$+f9!QJ!m%UcTF< zb#I%&%sIE%o;aV2%5QwaKS~N+GgbmLn5Vb)MbdfsM>Uc0I@bpduBmlje%8U(Ss57^ z7^(^X5T5_LP?zX0p0TEYoKlI4ii$dbmN46veymg*GTb(RKHY9QscruxcbLJ}4gTP< zE0gViR}ICFR-%oJk~x}7w@t$UADdomz2W@(^NRf}AW3o^$H_iT?XB?Po`SW7mWNGZGUpeszs$0S!C31T%WnH0?U}^BxN#I)kZDM#MsPh+>)Z zkr=^C(u^N1>AD~KG6?N(W*oe>4?gyy*nR=;;mt^(E-x+d)cZ5(0tYJKidj=5IsMoEmuna-5!N!$dUHlhb}VM(;jR+0 zD_+;DRiB2sT<-)+y*8OH;`rZLS%TEU~{45foB~JI38@P|MM+vU5`pVx7=aa!iXB{!Y+`MwEf08 zzrupqWWm&SKiuf&-K(B+T3`lp!vZ?PORQHLa+o^Xb3Z-4ui&}DY@n)}Tg95X%y*)= z9@i~u4%b)q$dZI4N)dHZ>b<*&PO9+$CSs=#MSu>OSf%=UZY^`YNX~$>LGj+q4xur@ zG-I0jQB2#xuIG%Z*F&*9o!*%D)Yt|^SFYsx@%)zzl>5)hAcMkxUUL!d?{n6Hnl9`b zmr0#@MnqgluDRl)+fX#v+seBc1(07 z4K(cyn)Tan^2W@eu21>Fl}Etz%mE9?d1vu_vc_xQe?z*#6m>qy$vlHiGaQvUDbm@+ z*_Q0ZXI`!*rQ5Iy=7HQ=2o_O|61@8WZ`9_EsnzdW%y+wy^-$Fv~Y`sXzd zW7ZaVXBdNy)K;F`KCXkR`UQ44Fkokk6G#c$_OV(Yg=~}p-HB-l*WP_-WtC#55xu-R z`jjiV{@tqYASTG&?fO=F=mt;}>(|>)AHFRIG@7Nh3fR)HFv&6P8rB864qbRg})_{^}Gv9i)4->lsgFO%$CRXsJ;6WPBO`wZlD%e>vVI4 z0gX|^vI?HbT_48K&IYmlZ;vhYd$V(#c|5H;K0b>&7>iaOJrvfGSz`icLDupDb@8rD=tE zU&6reQ;TESH5e0kQ4=UV_G>QF;u=V<8#UYeox}`fX(S!DWqug}pW*p$%itS4A%|`% zY19L|f?Vgl^IYHAjCoCqP5({U&~7g4m0euSF-{Hvt}vbdOQX_!#$=@3aT@fDxtcsE zJG4~TLw>t3H=Mm?l@qkJ7kG1#ycsrTgd$xAx*xXI6=x&3?igwFwi_}lbzTpHhw*=yR;^afuz z=zU@?SzuGpU#q$Ha(EO8lxK*F% zFTYU{9#gRXLKD&%=k~EV!vCN*)a|5g<|TqZ(DHcPKxg4xxIaN<(aqgj>h92_%rB|S zRc?7+&oq1+bD)b6h?$K3cDId>U(=46vwh|Ieu*+mj*nhG5iOD;N`6}}W*cyorcJc- zBHH|cN3Y$EbhqJ8a%SrJ?%xy6@o={|SvweSZCp}zXqV3d`w|lyB4e#F)Y6(>N0uBs zLBFHmJ!6wRDpsH)3{@~xy_W;Yl)B?y1eheb@ftL+;+lZLD<%<^7p*^}bviyo3+Qoh zZ*>M+R>`|IPMP~XB*1(N{VVdaLn{ss@9!-V0m%inr=Rk9u4*e?_ux7?h{juG%aRIe z0orZeL!%zB{>nCFW#}<4E1g958*dtR9gHNM`%hR!mV-=OQFh>?(QhGRrPwrrv!(Hm zS&}VzTzJ98KYoog${Y+CDabrk({i=@ z_gCWUqtalJHNeUA9^baig?3189&+)AyYMBuwl-nAi0edisIvk=q@Rtg^{A_w2)r zE?&1E=9jC^yTP==i*M5A))Y31l0!|XnHkQ2);{iqWA9KVxY#bd~8RgmGm(B?tU2(d)P7LV=Q0Rx_cbG@Ptb8lQX zwmKu0;}*?Vdw5N%@4#w+{j;Wz37$<8Eb45d-H&YW@@dnLTKttNLfQLd4wYSoz^B3M zC|8}(bt|%&S~_mRhm6L@A;Puqjo(>g4^vwb2J2025O)u-XQEn1^Dbv#Tx>Uc9 zGT$vWz4<)UaP9Ehr=tnBB}LhBM0R$}L+G4SX|EfjyK~N+uHtT5E&RogZkp!4E-s^f zmP=Z~Z>GX%k9=;=3XRJpbRLFJDkQLPA92lkwBj~~Z&MMBuoZ!7i0BC8k}>|8W4T*z zhsGnwKyG%7I9P&=S;6`bo2%Dy#+czgrsd{JrN9CZkpVU|Adbd~30EJbg%}qk&Ao-I zJ#SE@k(QMQq|CmK^XD_ZSex|qQ8l(P<#GbTuPhb@@oaXiH#ADF1< zd(hxi;W8~(Eou45! z7SHed$8hvGC!?y~X0N-`jEmZnjFk27A_&0?7|F1*)S<^;%H#s8G1I(*quD z^$`dC7nkrk19vSSc%6-9UW>Yw+NN`@kaRMsZ%`O#UKq>2LAg_RG>6<*9}lm}P+5kHEgUs9vx;^D1Nf^X>(sWnTkkZZV87F~{u(&F6Q&b$ ze=>h4y*%CeZ%_<>PY6YqO7ttIx@MJrOFD|QqPARbh!FXD>4Y0I7J&B5X0Hce17^Vp z$0(VVN6^WU4|_^iO}M+8{xN1++x)SgY`;oU=}9#Eq0*WvKv z|6&fc_aBMa0C3{e>OS-GmYV$eNX`(|@XbZbjr8}SCY&GULWun3vVgZCtF!+KV*^gX z8GH%7+OgPQ#147G)%W;c}PONJdcCuM;PSLoyx{$cmw*g6(5zjg0j zet&Nv^I`e};Je&7Hi5PQPYi74`#-La18*>asD;z&nuYD!{Epnl>q=phJ%Z*4xxkZR z3&(u6LEHztQNUyNVdRuco^7KxzoIS;<>*&gmN@8cW-cC(YVu^XOJHa|F;tB$m#cgL?*IKJvMU43#?yv`Y6D2r=Z8VtOBYw z640t*vy#<|KBMN*CP4ixh?S5UBH*iOJ}GHn_MUguxMwDW#Idaf-1)O-#d`4u190sY z&4-uA2zh~#DIC8PhPv$9TQnfAkRfuf`Wp5;%S_V`aedZt{Et)W9GC@D^!(+zI7nOF zx_2gvH>QxDSugV#kTZkAsT!_N%33DqbFn!4);wuU-LM(c;B7)C-EG%W_l)8TfJ4vY zV0J!<_LCE};e%7>n^R|vW*z9Z!2*t(wO`;k$>>(-q-1VxwA2q}25w5PEj03Zt~x+K$qi7$2fnNy}WqsCypwD$+dqt`_^U%<$SL=u<*pmt|KbMJpL0%&mKQ4^HC|nRF!&`{1=M|le*n9t6mQ*ac1|Hr+?qj zk#`@!F^z}|MBq8%@1IX`=D?A?2S2Suc;X(p0f+*)by`l2=s$G|-IojDOoalPy1v)pA}@_yHR0L)2a+u~p1&aA z4C&wdVbt^y^SxW9KvNID?|H~k_f2xk<(k_tw@WosvW!$@gxSCM`TmU;LveSRkXOJf z>@;QOy}Jjz88o&5fF```paUGXy3NC|=NjXez_Sm$0RGuUxk6fQGyUe(2`hh(wPg8v& zN>ER1w)uPkb+v$cnA*3&FVQQfTrUp91~l>rao~D*Rd@B_z0abXZWNnOh|kH0N+E;x zG=$L>dhm1i0;#XKy<*{6scRHEvZDnUa(&qJUNDbP?SPHom>Ix41W+K)B8|lC26RFu z*@tvZ8B8R9@9`-B#toZ$Q>gaIv57S}E*r{lgARY3n2Yy_oS96G=Z8P8vr?Z+Hs_PI zc}YW?HF}1eHPeM{Lrx1IF!!l0gF6%{5rh*Jbly^|>{*h?r!#IQALP*fEEC^)CK=!A zoLqFP-h>d|RzUDyd#Npj>elJs@(TF&4|=qJ(& zm6UC)c;J!vf*KHC5PlZ-0)xkTrr@2+xKP*t?8OGK3fM(|lyW3s5M8Id%w)IQ(_@^# zFANZL*4c%_Xm5T!NNlnpE;P{pYcW(YFU4!*UYLmrd_8J}c-$TkSlHH20h^VTak_0} zftNPPtOoVbI{<+k>;IW^0SQZpjYKAstb>~Vy({crUP89UC-WvT8N2`R2bmNEHKs?t z(62N+O0b0?fba`qu5&)d2 zk_6C=Jt~6b&;H&aYn4e)CdTEy=mmWt9zck$Nk;r;eem4g{3vxVlp~r4_HnUH{@>AD z1kLfC=wvp+90f|s(Aor!CWu~tk@?9FqePWOPnO}4l70h1umnCO=LWBH;2wp{%}&ep z&fa~a+UM93_`3Oyq`Z6f`ojrS1bv3OU0Czr@4M+X>+*?#X>;=h0I_L0H|q!|KtE5W zIze|4b2+z}t@4!r41(2}2DZ&y~HO8lUvwf&BQBIte0rH2^c6aO&a&`{-QrYAmN zj^{@o%uGBkL_g;Jb8S={9WUI+3g&1-6y>9c=lh{YUFo#rklR{rCo+&=^~>k5zu8+N zmuJf2qW9(;s?<3n4{9Ly)^;=tbZf?_OtYyv+I#*yGZqC#J@Izv{`O zj(_>D{GKtjON3Oxe|;ZFU2&L(|60!Y4@R40Y3bvz@&9kM^uNOG|I`0I{WMUPDs7h> zD(0YbfJm>Ikl$!D|A%$3O_L3HJ2i9^6L@Lm4d6~sAhgR`Kc*w!ba9k<)3~M%0GgNz zAmX=(^a-w}?U^T>_X5B=#{@D41K$KjT}+IH=NTSt{-zGGyR^Ew;G&ajd;FfDjk`N$isIUrd$5Y@foi zeB*=(e{e-+YLJ-Y^EGfl8TuBjOE5CP*jmrlK!Gz?=Tj}_Q(o-1&VlG=vsMht)I3E0 z)*axk*ZX3K8RSz=O?%gzosppXpRP9ouWi%FKTpm>w$<;=0&~{k@pODOPdRJn-kt1| z?eSzr`)!$f)9EiFfE#@1zyTRyWpnZuk1Ay)wBHzPU@uTN0Slu308#lWKC{zi>AE^M zM&ve_j_8`)Bqcq1n<-Twl+f0}WC1 zN6L&3!i^epE`V>{yf&4h=p6{aDo-GmT%$o-vE3i^mxbD% zMEOZ|Vw(1$3&2e63Fv$X@hrI6zqx9$8A}9aZ0v88v%eK4hqlSCzf1)GVpC1N-tQ<4 z^%j5m9PnSBmi=c*&Nti)AZ;&Jz;Li8&*=>bb$m`Kw`TZb*$d$8o^SeR1KI&l*M+Be z!_1)JAmmBf?SQ{jnbU5zU>_ikgt`L2o2nB8&o|~U-CUY{M7iqAf z0XK5gcBxlYv8Q;`mX=1t6nL#<4Ihn+XTz?JiJ%TgLDHCbFQR7|41G!7^Ku`zw#q|~ z0c;NiAZ@oNF7(pBq5q4TusZ#PpH{>U07@2G0M6lzop7vL!Nt!__dGh`0M5Me0;WK> z#)5UvPp$}B>XumSfh(n}2VTKT)4hR^3VHi40w^QW1TgPW1}=ZnFa;zU78dpcFy$5P zF1!D+kg76h3GVnD+pS%RUN8kXPr2zQAprPa8DSF3{PRgTaZcn9zM2EhMmvJ8VH(uF z3=FcvK$#)AXW)rZ;A=F_fc_OV^k{u>;jo+4A}4ak98+&Q^8lA-Npb`E&Ggf(L6(Uv zrp?gblK%+?97ZHx;-cc-gZAbX(!-D;1NJCj7s&s*jyu@D5rP=z$2)JKf_d7V9t6e^Cg7KIfJ=dN0+vX}mtEq`uDsn9I5fP#xOf2D0|E#h z-kp5rzZ-yaQh!uEFYQfR#q37Qop0)w*7ITjRBBG&{w=DWF%^KVw0vm8>g-xFnycov z7k&V9OwfKMi#ywB>FMfm<&hwN|0O(Do;5q~r@ngYsLMeVwK>37hG`|YzaM64?rx4< z5x-r!qoSIng*%8J&XUYK8z_4NacN?KU4R#~)XO03kHZ8%ZBf(*SwH~FlVPsb-h};^uvOKvu=O=3=iQxyxs6ZqX1uiS%m%HXZ>8 zT_^5A|6VF^xKh*BBfq}vkl6+6@WFaQdH&#XTcZ%&2ikvu80)(lAYkqZsC(Rb{p|Xd zfxy22_GJvBKO7udimqKw)s}JiUSXhAmL|%ay??5AKD31F{ zxU`M|`{yZph%9El;vyvQECj7Sxmp3J+y1_iypnVB$Yu2WkE`;TZM|Fo_>=xw7H!{> z%V9O(`RfU+d-w36TZm3J6}bZ5W?&Dd!9Mk87S5dqWZd<*lC}lhdtAaSvohKHu{#i( z9LRfa6s-8ypaGXAF+83e(XrP|Bc2l?xJAN3hYrrbzT4HZjTq#ty-P-$-B74w7YS#3V zN)50FIVbr)L*}E<*~Lvs4}>tkxrW?}NC$3jmGBCzyd%nC8+nlZfGe9yu#JM~>lJWX zZajc|r|qBA3Fj?;ckJt@+FvW#o?x>#E~^*6L4voya0W;llY*OoF2)v2TsAHi!=Xv_ zEIvy?3jm039W`)+!;Bzxo#34-<)3G?BV;OYrhKUguj3!-9hJJJ@JrU4L)Lx_j?Ji$ zDH(9*sFFQbzQ6@27UJQ@d2Tr|zEABSz0BlHx!7D>V8-+z8d$leVKkCrYjJF92xgBL z2~xWtVSj)Pn815Cu7NSE9i545&>3-L#YG@A%=KtkBv~@@>we?H2Ki>rJ{^onJzO9! z{dI{=5^uoHy**+`ac+b+3lszNuzlI|c2@Wd;Qw#gJu~7*zPzxI-lp(G_CWz8WUk7{ zWUnf*5E$VWA6voWs>iA@O3FJ;X8l-P|H`8_n)-KO#jf8SDqWc;TJB9f`K9U!@6MSOVzPeQl2(`hXmhDw-0icxU7e1mX(jN%^` zARCf3l5JY{%i%>;-J8ixEbo1kSxO=ely!0(bJ^m^GpLQz+LuHx>Lu=_d>g&TpX8PM`Ept?<8mA!_gdA!zBHKc+;v>11b!=5A1{6|XRs{qjgf%4LLzLc%%UOx1 z%L9dn;mh=b!dY?yZ4;)42PV=#)SspsRcA+oZy(iH;SnKUMQgLU=;ZM?4XJ}N8<~Ec zhcS(|X?|PIvxUBp{<9*nlqNW?8zW&=De*V|fFg^nT{U+&c_`@ZW}KIZr&6YJ8vKO( z;LT5MrrTprnt(KGY;z9x9t*zf|C=Tm@H4dooW(-Gmqa6-m)m`fpsojIzCz#3(KI!+Dnjh4 zR@1jhzK{I1FlK)YF=L9x3Pl^RoCwd4r%lFAiheSe>aqhT4J$y{A7|j#pQOjsXP1o~ z3}|FZIWNJNDd{)rv{jY)S&jX=QhtEsRE&IBa>PLe`C-X8#m8x{4vLDWNBKuqhZ_szj`)S)7ww&YrZ@U9SV%bH$+#kz6!FRr2Za)ZkJ z&kB-qO(G0}eFYmrYV@@_E|EMf?yl^xlJ$0$o3rj@Pfv5r7kn|I&|3L%3Z`mE2hP}X ztp-bXNgwcq%+?W(JQqItVBYm2o}d+W#Pn278L+q`UABK=`|x(|Y$e#h^@F*7UckHi zpGSF>QhjGamW#0x1`lCNi+cu>KfQ~0xT5N^x@Fdd);gmqDZ&ah?|JB=h2Q?ADe_lidMVd(OpwbBf z3Iqa5RTL1FCQXnkASFNuRit+TX$nC=K&AH%N-xrt9(o9&BqVe~;5Og;<7R#{cQe1a zo6Eo1Y<9Er**x#}>-{{NtnR)R-51f^*SkmW!-9|oyMtIAI6=v)$!&;;d_9Zyj28uZ z7S(XUKanzW5^ZV0M*=;M_mkv6YN^+ni!V6#j>o}Zc}M4wtjc{e)m&cHd`1tN?q7vY@ke>k={P~PRD(& zy{9eeZdm=#{DKdjK-8se9ym6~p?pN1tfxb3z`;tV2i%{sPCiHW6#9z306onRq|{Zv z`9u>O>PyGQn<=K?PPaZlY2p2m5*1OMCQE?J{4~@5iUUJjl1}%>606x?<*+^iwG~P7 z?!1Rp-X5sVlU>!l(r=?gNT!%x90;&|;sjO&rn#_=YhoV@fim*rb~B56S+mT*+P>DS z-z+>G&2~OwDEuWZ_m4&$o6&sdJ=Uf1$b;>HybN5y5xSc1u=}>Eh1Et`nmn~RE>oH_ z`QhFLFZMvgOp${h?m-cv(zw}D{=fe+41|AsjJqksKtke$5GS0=*&oawMk*IC~>$G&|*E9C3JZN zda&>vNW{fPL?*A86`>xl{6e%0&hv1se^%7{N}b9UYfATbWMqdmQdZ&n{+fKq4*K?3 zt@E(cNxK7es?wCk8wn#o0<%XlNvl?sP7y!EU2u{uX&Jl{x*ty4Fa*6(ZZj(O+fT5K z&cxZl_#RtEl(Zah_x>H|68U;KbKSQR?E*L@#)8f??Hak8IyqrJBO6WN;(o9Lp+Ba_Ft@c+L&>i@CB!p)*NMF@B&F8BjD7mno_yVK>q#d*gZwgc1PL-NOSIqhWf1gFGi{0to2IA;~fV3-~K5sZ9VYEuz&& z17k|CSOM0CN3eKk=9>XzcuJ?)&@R~kCsJ1ky*l`o|st=l;tla1X-+~ z^~$(h*pjjyNBo3t`_vLl&P=;>0M&nA*7;3(51hySG{~FCvo|f#HlaAQ^C{bZ9NAQ4 zj#n+hD$SMy40GwJF`L5IIJd08+Axoj+VSgvk`DxQ+om$0qtZ5k#$>a@Fpz(af89K&QI`3;oyJyOoT7neggk>MaM1aQa6t_0Raf67(eFydIn{DYnsn5oG7lIaDx&Z$yOTfm$}iSlEs;H; z!xGnkA^@ocP6PlTZkzmA518fo$>czlav{i*=xEgv%=k`wVTdC$8$^0f(vrd z+**?+<2pel_a=~;LWSP_B84}5ya6pN9P5sa4yt)=_$XO?mqxj*f)9O2j^sM90+(etc4^1^Zfjl zj3&dX#7bfySwTqBP3_m#wUlu8j+77nl7HJ!T4YXoj?@4Jwqp0f5|OdtNc%a6Q=?3E80S)_PQy`l8p0l7gVy*Uih4Zoy(p!e$p)NpDcQI& zMVwtGoC9#n+`Zb6CcUl15m>3iugA+2@B_$k%Y$jGToBi^Yuy`ItG;u^@X+M81*!6j zXOP#KK0{@PYC~X1B(giwok5l@L`XbC+5K=AYMRRAiQ z)*=#xb;c;rvGFMv3ohMJAcTi+(-y+e>vVn{a*cl2(;+NT<2HUp0Ap!SRiveL zqB_~M-4H+8N(-6@SWLDrb~Bl>I-81q!DZqD+xQW*K2Ml;g&DQ9hXFs~k^nMZF>~I0 z>mqs!>xUMD6`mi@0b{rb!y- zXBW8CM(#-@>CJ^!(8S8)4#&2GnzC)4o%d8XwU8s_6Y2JTYl%HUHM8j3*&++)O3~El zu&yl{L9{|;YN8;dWft#DgA~LPCy~l}t#H^GG^^zZYamO9(mrcFAGEmUU4`fL8Q8!jdh4inNPLFqbMin;j#jMtExCr+b zc?4$VRT!#D@W^y2f|`{X!=MN;TK&R?K9t)O*BY5%lYs1e$IBsLCShJksvfk<1aS0gm%`XHjt}L)0PgHr?b1M94Yh7(b2YbB$ zkVdFHn65fV;__JDKbCGeXQ=Vfz{iGeOx~BmY!}&Lgd1rZJ*|cDHJZ-pd#NdVCVvvJ zQKq|zZ9{7{p}9^l*lLwbWsf99Pc#QD>Tvd$1zACbENxot8iH7d#FY%UrPNCPr|?Oo zACN{X0RG5uUcxm+&mJyMSKfh(L&sb+K^tey9T=q7*%}v;83aY>UlJ8&hj0c2o)-c< ze~y@kjA-549a?&PZ=xg9o}A~JWiuRtdm};0#6^jPHL5ZDkB4n8Uo4)H0{1p!b?yq@ zX&gU0LcdERsf@PZxfd2ZaMztDL9uojf}eVB{75m5RK{hZ03y~?xhkTVIB^YJ!%pmI z`1*8Upg1q900{3uuBIk8aHR4EaYT7FlqOnk1zMJlN}UalM#vA9Dw2i^VYu_Dv?lt1 z#TZj;F{s#N^*Bn;KergSS9yEUXC4@1=6$}Wcm9&4m5Oe;oB>IPAOm&V!L_W^D=`(Hu5ng~QSX zbd+h`#V9nXfMT1S!?wYMRX4JKF3~ph9;r-rMW?5k&?~Zn@nejhQHH7GcXNP$qPFv= zS_2Zy5xjvuCZ(Q$kL*c~l}~oMUlC&;jSD&O1yGm?*E-n~kN3*_BIhb;YQf!1AcL?> z?|mRM*1WazO7~-1nvcYZS>P#}erP(tt9#QaZ2bRcWJlI#S^?3*Op#4&&~9MpBSL=SDvw zGZxq|VCObM4yN+tUo`d2nf{=5mr$$>SJuQ^JI1TT@2xr`SF+t&uwI~6eb|qft*LDX z7c?das|#N!Y;1y@h5~D|<-uVgmMaUkQ@S5{Zx(?m)=iACYAT6ayG|~BVdNo$F-$c) zFZNy!H@JKb&*l0_!eo}_Evf$)+FvzOSW!1WsOJT8I$a{sqWLw0QKo)#QuRd$j3pyD`HB)Z?Fh}u&{JDMC zb8O!}?%eiK_y4MuFsjN*JI-0Vb7z=5U2qIOK8WfhI1h6vfM;dW-1(rjiA<**4%C4; zF-b@Q7FLpX8bA->#WK zG}t8yb$OoMp;CRueqUuLm|px!?}PU%H?y8az8AFSQ{1k8kumEBl*s0Ev=rfIHJ^_a(`eWexU$9kC3JjfL{L?J9xo8hJ(t6Ns7|0^3pzi)$gZ# znz93tCZFZ2qy%X2SL|#!(oDD)KZgZBr)k+f&TK7I3UF8$z|gq5wDI~7S_34}3X{0w ztOYn?_uWD(^6lHVbD}Tm!3@voTVG*20^C`-n8y)vNA#Qz_ochF!KCZOZx!jr7CPEd80N2Be-09vzeZRKg?AY@X?^E^Ue`Tj7B)j3ZlG`M0 zVF~6SCmTbvRT#JMO&z6R&4_&Uklf!pa<1nidAo8%M^8Lz@%t8+{r4X0uI3lId7WSi zasK(cT00KCvefD{n=vT~C+#$1?N3p5%TzQjsQ#39_%|F6Z>T5B?>t^vQk=N?K`o>p zm`}TtmtT|1I7ftTc@ek0q;$aFDcfu6+VanC7_q$^`b$7Fk~)s*NxVTpxeuduXm3cq zx=_a%r)%@*z1L%ET+|`NktqI4p06GkF_ov6&qYz8)O;CATKo>dG0aXJVzl^Go)(Em zI%XAT<>AYYC`F9@LnoCdxbb<`r~Uk636O*I0V6`#5T)2>r|Dl2VNzC0E>q>d^Lb+q z0B{OJJyqb3?5h-T9#i9hd}Cbdgs36Le^}ooWNFwkXlziNS&m)$d-YPPp8&yl`rp5Q z?^F|;)xZ95`h;2R=(Dt;)`T-M_mx+Eg48cx@q?pj@7r?Wstb!HM6-=7Al6XatbGvV zhRGKe+66^WF}`muQEc$~eop#L1EphbL2)S#mblEz@jrH;Yk%C;ctr1~@D@qVe|6ZQ zrXfzT&BLEuF8a_P9ZAu1HLctuBb`q-^0Fa|YHU}-+kc{y50W}LolcX9JC7;xBW#RD zAVR|f4$=r?BrE2YP9*Jw$P+9D@lh4;807@lW}fsndxzMrM=N&e1EI8&49b%`kgJYg zcLlcRnJGR|Eytj)XQCzgTX%Yr&^vYXY4QxZuI_jSOL6x(k?Rrc%YvE8vGSohCVbDR zv*=k5DGU{J;|%)Fd`uE~SDnoME+1=i9e>$`Y~?jGz}nvk;#M#y+!2V~jdow)Md4Xj zSaW>sdeFc1#Dn%SC+CizefO=6Kgr!jZ#xet_*u^m9E51azZx%mQ`{0d4J#f}hiFsD zFo^v0vA!$tHn2V#rJA3&Y<v>#Hg3`l1whiAP=>2;1OpQ}k5k*m&NBhj}vSc?9m<^|mceBjCGS-7%-KWlC zZGYOCK*WWn+}!2)Aa#qcC6VIpo9332Q~xidL3cyDlEg=~(|yT0wd=njwJWIIiO(A* zL2ZwKt6m|%_F?yn`t^`>^@|)g1bPL!j}(8*H5e*$9TaczMBG!n+ELb*adoKcr`qfC zx8AtiV3k4o2rDz=uzrl1n|=$K0roFDJUqdAmc@4G=-@99;JN{6B|Q3GjB zR<}7j9*JYj5GA*iSB2oJTmkGmmoD`PH<|HS)HC};w--)_+>WhZvF7*h&(h1LE8Rc5 zENhck3H#u=S<)oMET0rNjCJ#v=4UMms+Q8vo2B z+ZBWFT+Luui6HgTV8m<&J?PPh!Cjvep}!N>OF1@p z9TI4<$d+K7C=@B;XyXwrOUw@HqXHq0E#!{)NFsi?YzglkQrQ#@F=2XwJE+<=fvfsF zaE(MbQdiiF$uQDj))P%X%)TqKEXI}n^b(&^q*Ibj*QzV%%28=~wc82Eq_T5kbJLvC zCh5KAq(;9s_=ty@r-er)cY%@FYLA4#Nmg!LwX7kgiC5j;Kb)@2U#JsFE|{v@Y+Z>z zoSM_Sraq}*g@;AW8d=-sqiQkeFI&k>=M{de|4d1TEVHRXwKJdpsnnJYM~aJ!)g14# z77{0)RK%8ojprFH=wHhSPL-b5`aaEQ5=e+uPT>CKzho~zm z>elMp0K;B(In168NF1PzETNA4JSs$t;C+{kz4Z-YF6?N0if0Z-off<=q@RbtdyY$$ zFr9OTz@w=Nk*T~Vs?A%zl!?oUqTu`UAFOi|JlX|TG1Tf2v@xIk+$3##n3(4|E-!Zo zK6<*ta7B{Y)!cVehKH&%wNC)d(!M;e1pm!xRWJ3O=`Zb_OAWj|k2#aoTCwnlt1?WX zVGn=7{c#eYWve4MDxq&OGtalZe>RKPT3xk$6GkMKA|JnUa|hSI_=0aR~kvNM5(~_^OP0hKE{cfccWy5Wb4IrDog!%3k#{Ix~A;sruk* z1Y`6t?10Hg`LUuE1=@WMx1!t`QU8oJlG1U1*wiEbu+76Y8}|1_kWS7bB5h;;Pq6Bz zmB=)rvW<}eAw@CN=I`z`p~k(JPl~pkouj1rTU;YmOGk;r%|HKQj|h)Ac`$cy+^k8h z{o#*qg=3Gb7)OIOCB0$;@Vm?COZUqH`SHz4H_erZYLd)Na`n+x+d|oOQ!_zvuRWE% zxyRi)$&@Mh%hTL=TUwQIsNGJxwo)X#cU4u%A|U_aGWl*|GA1N(@y%}tAI)H;ZYv5DdPrX zH<a1Mj5ACIiDr8W- z#D~AB8hPOsLY12Fedh~m{)-=duJNm1_?;k%k9YIH$nmS=m$=V^kA7~x7Bp5eVGBl$ zgfdXluteBpsJJ^`WzpjgW$W)ni-a;zJW>i{5V-Jv+UpHqYw8Ef|2G?d{8>~q?#gzR zUmfu+SBJbSc&=5`|Ncb&TVMIg0CU5=i`i%jn000+WA~@r9s%#x%~sA*7N|_r&Yzo@ zo;J8gD(uyT!y9z6!2iPOc@gu;?1Teg%wc6gLBSqRqS%e$i>e_Jn`LeDEE2D5-gL)S zBqiPOJD9fL9+X?~>`}MtPT+NwTkx+M{CsafGmZlV&Jxs$p8`JcPDnTN<43#qCv|R1 zs*{ey#&jA935kRCyo6U!DAYHhH*Cydc52^Xk4n_Zz#s(z%uh2kHFXlyj0MK&Qwz~r z?&&x>{*W*(|CI`|eD|W@X+?DOHO~9a=>~>|Gv6L3Z>5^Pt2j9DCIZu)#*89w{rwH! zU7N0VUm5fB2=On7f9v^)7iiymFILt(hHc!GoUM1y)5%swZg;2>zVu#?I~!8ORUhx7 zVKDiv7*|<0LOS%w)GU^OA_(BOsBCR*y~lOrrVDhw6c-e98(46(x$X$al{R6)a)1Bi z=l!nySz4-lep?;?(dWwh2V;wqWtOf3sS;I*f?5R$k^VW!8H%t{&RV}^LqCs|W?;@p zOH)X+tE!pqEd=}n{X5K9{=rTM@F4Xlrg1+FVNZ1+x({tn7dui96TW|ASg8TXlp&qV z4+o>pg1geoP|Dt0Q+sm!(GfTK=pELn=(yZu&>VMIu80r$^Csfa=r<+T^c{d*KX`-E z&nPjin`sRo?wOfUtgo+^cXxO1SvKH-xnGTyN1M|H})hoXmoStlW1Y*jqhKl+_L z3k{~W9z=(zWIL^VVMt?&vcJ%pgHV8WdvDL!>OuBD1po}?U0ZR^DV(@nw@o@+82$|7 zQt{pU-m*Voih-!!q>r*!*ZOERQNo^St(1mP*jP zE<(wXc!;ZGwe%l-WokMOTy0Nj8T%p6P0CeDFIKrv{zu0T(@Nhp|9Tcx*09D=C*KPw zXs6j)7ifoXBD<>;GJ5Oq&1YKJwpMe*bG@_?v^EUUBqG%}xKx3&88KhOT<4>gx~x1K55F AQ~&?~ literal 0 HcmV?d00001 diff --git a/ai-solutions/android/05-QuestionAnswering/scripts/gen_raw_list.py b/ai-solutions/android/05-QuestionAnswering/scripts/gen_raw_list.py new file mode 100644 index 00000000..a908eec1 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/scripts/gen_raw_list.py @@ -0,0 +1,28 @@ +# -*- mode: python -*- +# ============================================================================= +# @@-COPYRIGHT-START-@@ +# +# Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +# SPDX-License-Identifier: BSD-3-Clause +# +# @@-COPYRIGHT-END-@@ +# ============================================================================= +# :=[:=] + +import sys + +if len(sys.argv) != 2: + print("Usage : python gen_raw_list.py ") + sys.exit() + +total_iter = int(sys.argv[1]) +print("Generating input_list \"small_raw_list.txt\" with {} iterations".format(total_iter)) + +with open("tf_raw_list.txt",'w') as f: + for i in range(total_iter): + f.write("input_ids:=input_ids/input_ids__{0:03}_.raw attention_mask:=attention_mask/attention_mask__{0:003}_.raw token_type_ids:=token_type_ids/token_type_ids__{0:003}_.raw\n".format(i,i,i)) + +with open("snpe_raw_list.txt",'w') as f: + f.write("%Identity:0 Identity_1:0\n") + for i in range(total_iter): + f.write("input_ids:0:=input_ids/input_ids__{0:03}_.raw attention_mask:0:=attention_mask/attention_mask__{0:003}_.raw token_type_ids:0:=token_type_ids/token_type_ids__{0:003}_.raw\n".format(i,i,i)) diff --git a/ai-solutions/android/05-QuestionAnswering/scripts/generating_model.ipynb b/ai-solutions/android/05-QuestionAnswering/scripts/generating_model.ipynb new file mode 100644 index 00000000..b1f8e372 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/scripts/generating_model.ipynb @@ -0,0 +1,862 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "416d10e9-51d0-45da-b016-970e1db53d26", + "metadata": {}, + "source": [ + "# Preparaing the dataset\n", + "- [ https://rajpurkar.github.io/SQuAD-explorer/ ] (Dataset link)\n", + "- Download the dataset from the above link" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "807742c0-4c3b-4a8c-af79-04fb2f5fdf7c", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "--2023-09-30 21:58:42-- https://rajpurkar.github.io/SQuAD-explorer/dataset/dev-v2.0.json\n", + "Resolving rajpurkar.github.io (rajpurkar.github.io)... 185.199.111.153, 185.199.108.153, 185.199.110.153, ...\n", + "Connecting to rajpurkar.github.io (rajpurkar.github.io)|185.199.111.153|:443... connected.\n", + "HTTP request sent, awaiting response... 200 OK\n", + "Length: 4370528 (4.2M) [application/json]\n", + "Saving to: ‘dev-v2.0.json’\n", + "\n", + " 0K .......... .......... .......... .......... .......... 1% 719K 6s\n", + " 50K .......... .......... .......... .......... .......... 2% 900K 5s\n", + " 100K .......... .......... .......... .......... .......... 3% 3.85M 4s\n", + " 150K .......... .......... .......... .......... .......... 4% 1.35M 4s\n", + " 200K .......... .......... .......... .......... .......... 5% 4.65M 3s\n", + " 250K .......... .......... .......... .......... .......... 7% 5.76M 3s\n", + " 300K .......... .......... .......... .......... .......... 8% 7.24M 2s\n", + " 350K .......... .......... .......... .......... .......... 9% 7.54M 2s\n", + " 400K .......... .......... .......... .......... .......... 10% 1.76M 2s\n", + " 450K .......... .......... .......... .......... .......... 11% 10.2M 2s\n", + " 500K .......... .......... .......... .......... .......... 12% 10.1M 2s\n", + " 550K .......... .......... .......... .......... .......... 14% 11.2M 2s\n", + " 600K .......... .......... .......... .......... .......... 15% 11.4M 1s\n", + " 650K .......... .......... .......... .......... .......... 16% 10.7M 1s\n", + " 700K .......... .......... .......... .......... .......... 17% 13.0M 1s\n", + " 750K .......... .......... .......... .......... .......... 18% 13.4M 1s\n", + " 800K .......... .......... .......... .......... .......... 19% 14.5M 1s\n", + " 850K .......... .......... .......... .......... .......... 21% 2.22M 1s\n", + " 900K .......... .......... .......... .......... .......... 22% 19.1M 1s\n", + " 950K .......... .......... .......... .......... .......... 23% 17.1M 1s\n", + " 1000K .......... .......... .......... .......... .......... 24% 21.7M 1s\n", + " 1050K .......... .......... .......... .......... .......... 25% 13.6M 1s\n", + " 1100K .......... .......... .......... .......... .......... 26% 24.9M 1s\n", + " 1150K .......... .......... .......... .......... .......... 28% 24.1M 1s\n", + " 1200K .......... .......... .......... .......... .......... 29% 28.2M 1s\n", + " 1250K .......... .......... .......... .......... .......... 30% 17.8M 1s\n", + " 1300K .......... .......... .......... .......... .......... 31% 27.6M 1s\n", + " 1350K .......... .......... .......... .......... .......... 32% 22.9M 1s\n", + " 1400K .......... .......... .......... .......... .......... 33% 19.8M 1s\n", + " 1450K .......... .......... .......... .......... .......... 35% 35.0M 1s\n", + " 1500K .......... .......... .......... .......... .......... 36% 25.5M 1s\n", + " 1550K .......... .......... .......... .......... .......... 37% 20.9M 1s\n", + " 1600K .......... .......... .......... .......... .......... 38% 35.2M 1s\n", + " 1650K .......... .......... .......... .......... .......... 39% 46.7M 0s\n", + " 1700K .......... .......... .......... .......... .......... 41% 24.1M 0s\n", + " 1750K .......... .......... .......... .......... .......... 42% 31.5M 0s\n", + " 1800K .......... .......... .......... .......... .......... 43% 2.35M 0s\n", + " 1850K .......... .......... .......... .......... .......... 44% 35.3M 0s\n", + " 1900K .......... .......... .......... .......... .......... 45% 41.5M 0s\n", + " 1950K .......... .......... .......... .......... .......... 46% 25.7M 0s\n", + " 2000K .......... .......... .......... .......... .......... 48% 61.4M 0s\n", + " 2050K .......... .......... .......... .......... .......... 49% 28.5M 0s\n", + " 2100K .......... .......... .......... .......... .......... 50% 30.0M 0s\n", + " 2150K .......... .......... .......... .......... .......... 51% 68.0M 0s\n", + " 2200K .......... .......... .......... .......... .......... 52% 28.7M 0s\n", + " 2250K .......... .......... .......... .......... .......... 53% 52.5M 0s\n", + " 2300K .......... .......... .......... .......... .......... 55% 30.4M 0s\n", + " 2350K .......... .......... .......... .......... .......... 56% 35.7M 0s\n", + " 2400K .......... .......... .......... .......... .......... 57% 70.5M 0s\n", + " 2450K .......... .......... .......... .......... .......... 58% 39.8M 0s\n", + " 2500K .......... .......... .......... .......... .......... 59% 48.3M 0s\n", + " 2550K .......... .......... .......... .......... .......... 60% 45.0M 0s\n", + " 2600K .......... .......... .......... .......... .......... 62% 49.3M 0s\n", + " 2650K .......... .......... .......... .......... .......... 63% 39.7M 0s\n", + " 2700K .......... .......... .......... .......... .......... 64% 48.1M 0s\n", + " 2750K .......... .......... .......... .......... .......... 65% 37.5M 0s\n", + " 2800K .......... .......... .......... .......... .......... 66% 47.9M 0s\n", + " 2850K .......... .......... .......... .......... .......... 67% 116M 0s\n", + " 2900K .......... .......... .......... .......... .......... 69% 49.7M 0s\n", + " 2950K .......... .......... .......... .......... .......... 70% 35.5M 0s\n", + " 3000K .......... .......... .......... .......... .......... 71% 75.1M 0s\n", + " 3050K .......... .......... .......... .......... .......... 72% 59.2M 0s\n", + " 3100K .......... .......... .......... .......... .......... 73% 46.0M 0s\n", + " 3150K .......... .......... .......... .......... .......... 74% 61.9M 0s\n", + " 3200K .......... .......... .......... .......... .......... 76% 39.6M 0s\n", + " 3250K .......... .......... .......... .......... .......... 77% 75.0M 0s\n", + " 3300K .......... .......... .......... .......... .......... 78% 81.7M 0s\n", + " 3350K .......... .......... .......... .......... .......... 79% 47.1M 0s\n", + " 3400K .......... .......... .......... .......... .......... 80% 58.4M 0s\n", + " 3450K .......... .......... .......... .......... .......... 82% 55.1M 0s\n", + " 3500K .......... .......... .......... .......... .......... 83% 77.9M 0s\n", + " 3550K .......... .......... .......... .......... .......... 84% 76.7M 0s\n", + " 3600K .......... .......... .......... .......... .......... 85% 53.3M 0s\n", + " 3650K .......... .......... .......... .......... .......... 86% 2.49M 0s\n", + " 3700K .......... .......... .......... .......... .......... 87% 42.9M 0s\n", + " 3750K .......... .......... .......... .......... .......... 89% 151M 0s\n", + " 3800K .......... .......... .......... .......... .......... 90% 85.8M 0s\n", + " 3850K .......... .......... .......... .......... .......... 91% 70.3M 0s\n", + " 3900K .......... .......... .......... .......... .......... 92% 54.2M 0s\n", + " 3950K .......... .......... .......... .......... .......... 93% 45.9M 0s\n", + " 4000K .......... .......... .......... .......... .......... 94% 181M 0s\n", + " 4050K .......... .......... .......... .......... .......... 96% 77.4M 0s\n", + " 4100K .......... .......... .......... .......... .......... 97% 55.5M 0s\n", + " 4150K .......... .......... .......... .......... .......... 98% 64.1M 0s\n", + " 4200K .......... .......... .......... .......... .......... 99% 68.7M 0s\n", + " 4250K .......... ........ 100% 226M=0.4s\n", + "\n", + "2023-09-30 21:58:43 (10.1 MB/s) - ‘dev-v2.0.json’ saved [4370528/4370528]\n", + "\n" + ] + } + ], + "source": [ + "%%bash\n", + "\n", + "wget https://rajpurkar.github.io/SQuAD-explorer/dataset/dev-v2.0.json" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "d8cbcc78-e8ba-43c2-b351-f86695041835", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
contextquestionanswers
0The Normans (Norman: Nourmands; French: Norman...In what country is Normandy located?France
1The Normans (Norman: Nourmands; French: Norman...When were the Normans in Normandy?10th and 11th centuries
2The Normans (Norman: Nourmands; French: Norman...From which countries did the Norse originate?Denmark, Iceland and Norway
\n", + "
" + ], + "text/plain": [ + " context \\\n", + "0 The Normans (Norman: Nourmands; French: Norman... \n", + "1 The Normans (Norman: Nourmands; French: Norman... \n", + "2 The Normans (Norman: Nourmands; French: Norman... \n", + "\n", + " question answers \n", + "0 In what country is Normandy located? France \n", + "1 When were the Normans in Normandy? 10th and 11th centuries \n", + "2 From which countries did the Norse originate? Denmark, Iceland and Norway " + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import json\n", + "import pandas as pd\n", + "\n", + "data_path=\"dev-v2.0.json\"\n", + "\n", + "with open(data_path,\"r\") as f:\n", + " squad_data=json.load(f)\n", + "\n", + "context_qa_triples=[]\n", + "\n", + "for article in squad_data['data']:\n", + " for paragraph in article['paragraphs']:\n", + " context=paragraph['context']\n", + " for qa in paragraph['qas']:\n", + " question=qa['question']\n", + " if qa['answers']:\n", + " answer=qa['answers'][0]['text']\n", + " elif qa['plausible_answers']:\n", + " plausible_answers=qa['plausible_answers']\n", + " answer=plausible_answers[0]['text']\n", + " else:\n", + " answer=''\n", + "\n", + " context_qa_triples.append({'context':context,'question':question,'answers':answer})\n", + "\n", + "df=pd.DataFrame(context_qa_triples[:30])\n", + "df.head(3)" + ] + }, + { + "cell_type": "markdown", + "id": "e4a9faed-f7ac-4f45-a557-d5adc8762dca", + "metadata": {}, + "source": [ + "# Generating Albert Model\n", + "- [Albert Model](https://huggingface.co/docs/transformers/model_doc/albert) You can Learn More about this model from this link\n", + "- You can also check different version of Albert for different usecases from here." + ] + }, + { + "cell_type": "markdown", + "id": "fb83206f-1109-4b87-aea2-11bfede84967", + "metadata": {}, + "source": [ + "### Converting the Model to ONNX format using optimum\n", + "- [ https://github.com/huggingface/optimum ] (Link for optimum)\n", + "- Using optimum we can directly convert any pytorch or tensorflow model to onnx format.\n", + "- Then from this onnx file we can convert to DLC format using SNPE" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "83500540-ebc7-45aa-a675-ea863f1db3b2", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:10.386023: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX_VNNI FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-09-30 21:59:10.461126: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2023-09-30 21:59:10.479101: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2023-09-30 21:59:10.790954: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:10.790993: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:10.790997: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n", + "Framework not specified. Using pt to export to ONNX.\n", + "Some weights of the model checkpoint at twmkn9/albert-base-v2-squad2 were not used when initializing AlbertForQuestionAnswering: ['albert.pooler.weight', 'albert.pooler.bias']\n", + "- This IS expected if you are initializing AlbertForQuestionAnswering from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).\n", + "- This IS NOT expected if you are initializing AlbertForQuestionAnswering from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).\n", + "Automatic task detection to question-answering.\n", + "Using framework PyTorch: 2.0.1+cu117\n", + "Post-processing the exported models...\n", + "Validating models in subprocesses...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============= Diagnostic Run torch.onnx.export version 2.0.1+cu117 =============\n", + "verbose: False, log level: Level.ERROR\n", + "======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:16.200782: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX_VNNI FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-09-30 21:59:16.275655: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2023-09-30 21:59:16.293026: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2023-09-30 21:59:16.602860: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:16.602899: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:16.602903: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n", + "Validating ONNX model alberta-onnx/model.onnx...\n", + "\t-[✓] ONNX model output names match reference model (start_logits, end_logits)\n", + "\t- Validating ONNX Model output \"start_logits\":\n", + "\t\t-[✓] (2, 16) matches (2, 16)\n", + "\t\t-[✓] all values close (atol: 0.0001)\n", + "\t- Validating ONNX Model output \"end_logits\":\n", + "\t\t-[✓] (2, 16) matches (2, 16)\n", + "\t\t-[✓] all values close (atol: 0.0001)\n", + "The ONNX export succeeded and the exported model was saved at: alberta-onnx\n" + ] + } + ], + "source": [ + "%%bash\n", + "optimum-cli export onnx --model twmkn9/albert-base-v2-squad2 alberta-onnx/" + ] + }, + { + "cell_type": "markdown", + "id": "0f23e961-0113-4ee6-87d9-6391f9105fe2", + "metadata": {}, + "source": [ + "### DLC Conversion with fixed size\n", + "- Now as we get the ONNX Model we'll now convert this to DLC Format" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "5f98873c-afd1-4ba0-b3c2-1f28a5e0b574", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\u001b[1;31mWARNING: The argument `input_shapes` is deprecated. Please use \u001b[0m\n", + "\u001b[1;31m`overwrite_input_shapes` and/or `test_input_shapes` instead. An error will be \u001b[0m\n", + "\u001b[1;31mraised in the future.\u001b[0m\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:25,991 - 235 - INFO - Successfully simplified the onnx model in child process\n", + "2023-09-30 21:59:26,137 - 235 - INFO - Successfully receive the simplified onnx model in main process\n", + "2023-09-30 21:59:26,209 - 235 - INFO - Successfully run shape inference in child process\n", + "2023-09-30 21:59:26,365 - 235 - INFO - Successfully receive the inferred model in main process\n", + "2023-09-30 21:59:26,396 - 240 - WARNING - WARNING_CAST_TYPE: Only numerical type cast is supported. The op: /albert/Cast will be interpreted at conversion time\n", + "2023-09-30 21:59:28,072 - 235 - INFO - INFO_INITIALIZATION_SUCCESS: \n", + "2023-09-30 21:59:28,234 - 235 - INFO - INFO_CONVERSION_SUCCESS: Conversion completed successfully\n", + "2023-09-30 21:59:28,289 - 235 - INFO - INFO_WRITE_SUCCESS: \n" + ] + } + ], + "source": [ + "%%bash\n", + "snpe-onnx-to-dlc -i alberta-onnx/model.onnx -d input_ids 1,384 -d attention_mask 1,384 -d token_type_ids 1,384 -o alberta.dlc" + ] + }, + { + "cell_type": "markdown", + "id": "ca0c0356-9a15-4ef1-9f63-3f1baf41eed7", + "metadata": {}, + "source": [ + "### Creating FP16 Model\n", + "1. First of all we need to create the RAW File\n", + "2. Then we'll convert this FP32 DLC to FP16 DLC" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a0710645-b945-486f-9050-945e1058faaa", + "metadata": {}, + "outputs": [], + "source": [ + "%%bash\n", + "mkdir input_ids\n", + "mkdir attention_mask\n", + "mkdir token_type_ids" + ] + }, + { + "cell_type": "markdown", + "id": "9ebe8f2a-e140-4828-ba36-5171fbba9b6e", + "metadata": {}, + "source": [ + "#### Creating the RAW Files" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7a27bfe7-d501-4b57-9b55-a3e3374e2dec", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:29.221362: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX_VNNI FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-09-30 21:59:29.295276: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2023-09-30 21:59:29.313236: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2023-09-30 21:59:29.610631: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:29.610673: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:29.610677: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "from transformers import AutoTokenizer, AlbertForQuestionAnswering\n", + "import torch\n", + "\n", + "# Getting the tokenizer to convert it to particular inputs that the model needed\n", + "tokenizer = AutoTokenizer.from_pretrained(\"twmkn9/albert-base-v2-squad2\")\n", + "\n", + "question_token={}\n", + "\n", + "for i in range(df.shape[0]):\n", + " question,text,answer=df.iloc[i].question,df.iloc[i].context,df.iloc[i].answers\n", + " inputs = tokenizer(question, text, return_tensors=\"np\",\n", + " padding='max_length',\n", + " truncation=\"longest_first\",\n", + " max_length=384)\n", + " question_token[i]=[question,inputs,answer,text]\n", + " inp_ids = inputs.input_ids\n", + " inp_ids=inp_ids.astype(np.float32)\n", + " with open(\"input_ids/inp_ids_\"+str(i)+\".raw\", 'wb') as f:\n", + " inp_ids.tofile(f)\n", + " \n", + " mask = inputs.attention_mask\n", + " mask=mask.astype(np.float32)\n", + " with open(\"attention_mask/attn_mask_\"+str(i)+\".raw\", 'wb') as f:\n", + " mask.tofile(f)\n", + "\n", + " token_type= inputs.token_type_ids\n", + " token_type=token_type.astype(np.float32)\n", + " with open(\"token_type_ids/token_type_id_\"+str(i)+\".raw\", 'wb') as f:\n", + " token_type.tofile(f)" + ] + }, + { + "cell_type": "markdown", + "id": "31780ce6-882d-48dc-b589-e893e429d9fd", + "metadata": {}, + "source": [ + "#### Creating the List " + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "0ca58728-3401-4653-8542-b823f735264f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating input_list \"small_raw_list.txt\" with 30 iterations\n" + ] + } + ], + "source": [ + "\n", + "total_iter = 30\n", + "print(\"Generating input_list \\\"small_raw_list.txt\\\" with {} iterations\".format(total_iter))\n", + "\n", + "with open(\"tf_raw_list.txt\",'w') as f:\n", + " for i in range(total_iter):\n", + " f.write(\"input_ids:=input_ids/inp_ids_{}.raw attention_mask:=attention_mask/attn_mask_{}.raw token_type_ids:=token_type_ids/token_type_id_{}.raw\\n\".format(i,i,i))\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "13f4ca35-caf7-4ffa-a954-bc8405386276", + "metadata": {}, + "source": [ + "### Creating the FP16 Model\n", + "- This cached model is optimized for sm8550\n", + "- if you've different processor please change it accordingly" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "d8c82fc7-3b70-4898-be64-0ad9d0dd0312", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO] InitializeStderr: DebugLog initialized.\n", + "[INFO] SNPE HTP Offline Prepare: Attempting to create cache for SM8550\n", + "[INFO] Attempting to open dynamically linked lib: libHtpPrepare.so\n", + "[INFO] dlopen libHtpPrepare.so SUCCESS handle 0x18363b0\n", + "[INFO] Found Interface Provider (v2.8)\n", + "[USER_WARNING] QnnDsp Initializing HtpProvider\n", + "[USER_WARNING] QnnDsp Cost Based unsupported on soc SM8550\n", + "[USER_INFO] FP16 precision enabled for graph with id=0\n", + "[USER_INFO] Offline Prepare VTCM size(MB) selected = 8\n", + "[USER_INFO] Offline Prepare DLBC enablement passed = 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", + "To disable this warning, you can either:\n", + "\t- Avoid using `tokenizers` before the fork if possible\n", + "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[USER_INFO] Cleaning up backend manager resources\n", + "[USER_INFO] Cleaning up Contexts\n", + "[USER_INFO] BackendTerminate triggered\n", + "[INFO] SNPE HTP Offline Prepare: Successfully created cache for SM8550\n", + "[INFO] SNPE HTP Offline Prepare: Saved cached DLC to alberta_float.dlc\n", + "[USER_INFO] BackendTerminate triggered\n", + "[INFO] DebugLog shutting down.\n" + ] + } + ], + "source": [ + "%%bash\n", + "\n", + "snpe-dlc-graph-prepare --input_dlc alberta.dlc --input_list tf_raw_list.txt --output_dlc alberta_float.dlc --set_output_tensors end_logits,start_logits --use_float_io --htp_socs sm8550" + ] + }, + { + "cell_type": "markdown", + "id": "fd975495-2aef-4f3d-87be-9370bbf605da", + "metadata": {}, + "source": [ + "# Generating Mobilebert Model\n", + "- [Mobile bert ](https://huggingface.co/csarron/mobilebert-uncased-squad-v2/tree/main) You can Learn More about this model from this link\n", + "- To check more about different use cases of Mobilebert you can use this [link](https://huggingface.co/docs/transformers/model_doc/mobilebert)" + ] + }, + { + "cell_type": "markdown", + "id": "bccfc9e5-4134-4656-94fb-f3641848818f", + "metadata": {}, + "source": [ + "### Generating the ONNX Model" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "650cebf7-1697-4a9d-bb53-4903a7b304b4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", + "To disable this warning, you can either:\n", + "\t- Avoid using `tokenizers` before the fork if possible\n", + "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:36.311479: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX_VNNI FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-09-30 21:59:36.385244: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2023-09-30 21:59:36.402226: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2023-09-30 21:59:36.706875: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:36.706914: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:36.706918: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n", + "Framework not specified. Using pt to export to ONNX.\n", + "Automatic task detection to question-answering.\n", + "Using framework PyTorch: 2.0.1+cu117\n", + "/local/mnt/workspace/sahinhos/sahinenv/lib/python3.8/site-packages/transformers/models/mobilebert/modeling_mobilebert.py:549: TracerWarning: torch.tensor results are registered as constants in the trace. You can safely ignore this warning if you use this function to create tensors out of constant variables that would be the same every time you call this function. In any other case, this might cause the trace to be incorrect.\n", + " torch.tensor(1000),\n", + "/local/mnt/workspace/sahinhos/sahinenv/lib/python3.8/site-packages/torch/onnx/_internal/jit_utils.py:306: UserWarning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied. (Triggered internally at ../torch/csrc/jit/passes/onnx/constant_fold.cpp:179.)\n", + " _C._jit_pass_onnx_node_shape_type_inference(node, params_dict, opset_version)\n", + "/local/mnt/workspace/sahinhos/sahinenv/lib/python3.8/site-packages/torch/onnx/utils.py:689: UserWarning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied. (Triggered internally at ../torch/csrc/jit/passes/onnx/constant_fold.cpp:179.)\n", + " _C._jit_pass_onnx_graph_shape_type_inference(\n", + "/local/mnt/workspace/sahinhos/sahinenv/lib/python3.8/site-packages/torch/onnx/utils.py:1186: UserWarning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied. (Triggered internally at ../torch/csrc/jit/passes/onnx/constant_fold.cpp:179.)\n", + " _C._jit_pass_onnx_graph_shape_type_inference(\n", + "Post-processing the exported models...\n", + "Validating models in subprocesses...\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "============= Diagnostic Run torch.onnx.export version 2.0.1+cu117 =============\n", + "verbose: False, log level: Level.ERROR\n", + "======================= 0 NONE 0 NOTE 0 WARNING 0 ERROR ========================\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 21:59:51.377048: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations: AVX2 AVX_VNNI FMA\n", + "To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.\n", + "2023-09-30 21:59:51.452021: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `TF_ENABLE_ONEDNN_OPTS=0`.\n", + "2023-09-30 21:59:51.469676: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered\n", + "2023-09-30 21:59:51.779129: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:51.779165: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: /local/mnt/workspace/snpe/snpe-2.14.0.230828/lib/x86_64-linux-clang\n", + "2023-09-30 21:59:51.779169: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n", + "Validating ONNX model mobilebert-onnx/model.onnx...\n", + "\t-[✓] ONNX model output names match reference model (end_logits, start_logits)\n", + "\t- Validating ONNX Model output \"start_logits\":\n", + "\t\t-[✓] (2, 16) matches (2, 16)\n", + "\t\t-[✓] all values close (atol: 0.0001)\n", + "\t- Validating ONNX Model output \"end_logits\":\n", + "\t\t-[✓] (2, 16) matches (2, 16)\n", + "\t\t-[✓] all values close (atol: 0.0001)\n", + "The ONNX export succeeded and the exported model was saved at: mobilebert-onnx\n" + ] + } + ], + "source": [ + "%%bash\n", + "optimum-cli export onnx --model csarron/mobilebert-uncased-squad-v2 mobilebert-onnx/" + ] + }, + { + "cell_type": "markdown", + "id": "a4c6f6ef-1088-4ac2-b4fe-8aeceaa5d42a", + "metadata": {}, + "source": [ + "### Converting to DLC" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "219fc000-a9bb-483e-891e-2e9db570ea28", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", + "To disable this warning, you can either:\n", + "\t- Avoid using `tokenizers` before the fork if possible\n", + "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n", + "\u001b[1;31mWARNING: The argument `input_shapes` is deprecated. Please use \u001b[0m\n", + "\u001b[1;31m`overwrite_input_shapes` and/or `test_input_shapes` instead. An error will be \u001b[0m\n", + "\u001b[1;31mraised in the future.\u001b[0m\n", + "WARNING: the simplification stopped because of timeout. Please set environment variable `ONNXSIM_FIXED_POINT_ITERS` to a number higher than 50if you want further simplification.\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-09-30 22:00:38,259 - 235 - INFO - Successfully simplified the onnx model in child process\n", + "2023-09-30 22:00:38,608 - 235 - INFO - Successfully receive the simplified onnx model in main process\n", + "2023-09-30 22:00:38,756 - 235 - INFO - Successfully run shape inference in child process\n", + "2023-09-30 22:00:39,093 - 235 - INFO - Successfully receive the inferred model in main process\n", + "2023-09-30 22:00:39,127 - 240 - WARNING - WARNING_CAST_TYPE: Only numerical type cast is supported. The op: /mobilebert/Cast will be interpreted at conversion time\n", + "2023-09-30 22:00:45,555 - 235 - INFO - INFO_INITIALIZATION_SUCCESS: \n", + "2023-09-30 22:00:46,066 - 235 - INFO - INFO_CONVERSION_SUCCESS: Conversion completed successfully\n", + "2023-09-30 22:00:46,188 - 235 - INFO - INFO_WRITE_SUCCESS: \n" + ] + } + ], + "source": [ + "%%bash\n", + "snpe-onnx-to-dlc -i mobilebert-onnx/model.onnx -d input_ids 1,384 -d attention_mask 1,384 -d token_type_ids 1,384 -o mobile_bert.dlc" + ] + }, + { + "cell_type": "markdown", + "id": "f75c34ca-0e44-4e4f-9fed-d67da3e83a3b", + "metadata": {}, + "source": [ + "### Creating the RAW file" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "7aca1352-6a30-4614-9734-f3930774f388", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from transformers import AutoTokenizer, MobileBertForQuestionAnswering\n", + "import torch\n", + "\n", + "tokenizer = AutoTokenizer.from_pretrained(\"csarron/mobilebert-uncased-squad-v2\")\n", + "\n", + "\n", + "question_token={}\n", + "\n", + "for i in range(df.shape[0]):\n", + " question,text,answer=df.iloc[i].question,df.iloc[i].context,df.iloc[i].answers\n", + " inputs = tokenizer(question, text, return_tensors=\"np\",\n", + " padding='max_length',\n", + " truncation=\"longest_first\",\n", + " max_length=384)\n", + " question_token[i]=[question,inputs,answer,text]\n", + " inp_ids = inputs.input_ids\n", + " inp_ids=inp_ids.astype(np.float32)\n", + " with open(\"input_ids/inp_ids_\"+str(i)+\".raw\", 'wb') as f:\n", + " inp_ids.tofile(f)\n", + " \n", + " mask = inputs.attention_mask\n", + " mask=mask.astype(np.float32)\n", + " with open(\"attention_mask/attn_mask_\"+str(i)+\".raw\", 'wb') as f:\n", + " mask.tofile(f)\n", + "\n", + " token_type= inputs.token_type_ids\n", + " token_type=token_type.astype(np.float32)\n", + " with open(\"token_type_ids/token_type_id_\"+str(i)+\".raw\", 'wb') as f:\n", + " token_type.tofile(f)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "bf159fd3-32b9-4416-ad89-6fe1b3516ded", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Generating input_list \"small_raw_list.txt\" with 30 iterations\n" + ] + } + ], + "source": [ + "\n", + "total_iter = 30\n", + "print(\"Generating input_list \\\"small_raw_list.txt\\\" with {} iterations\".format(total_iter))\n", + "\n", + "with open(\"tf_raw_list.txt\",'w') as f:\n", + " for i in range(total_iter):\n", + " f.write(\"input_ids:=input_ids/inp_ids_{}.raw attention_mask:=attention_mask/attn_mask_{}.raw token_type_ids:=token_type_ids/token_type_id_{}.raw\\n\".format(i,i,i))\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "d3f7c71a-ac10-4a31-bcc2-3ddba9dc0a86", + "metadata": {}, + "source": [ + "#### Creating the FP 16 Model" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "d6f2d588-01e0-4a0e-88d8-7b4823e89143", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[INFO] InitializeStderr: DebugLog initialized.\n", + "[INFO] SNPE HTP Offline Prepare: Attempting to create cache for SM8550\n", + "[INFO] Attempting to open dynamically linked lib: libHtpPrepare.so\n", + "[INFO] dlopen libHtpPrepare.so SUCCESS handle 0x17b9a90\n", + "[INFO] Found Interface Provider (v2.8)\n", + "[USER_WARNING] QnnDsp Initializing HtpProvider\n", + "[USER_WARNING] QnnDsp Cost Based unsupported on soc SM8550\n", + "[USER_INFO] FP16 precision enabled for graph with id=0\n", + "[USER_INFO] Offline Prepare VTCM size(MB) selected = 8\n", + "[USER_INFO] Offline Prepare DLBC enablement passed = 0\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "huggingface/tokenizers: The current process just got forked, after parallelism has already been used. Disabling parallelism to avoid deadlocks...\n", + "To disable this warning, you can either:\n", + "\t- Avoid using `tokenizers` before the fork if possible\n", + "\t- Explicitly set the environment variable TOKENIZERS_PARALLELISM=(true | false)\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "[USER_INFO] Cleaning up backend manager resources\n", + "[USER_INFO] Cleaning up Contexts\n", + "[USER_INFO] BackendTerminate triggered\n", + "[INFO] SNPE HTP Offline Prepare: Successfully created cache for SM8550\n", + "[INFO] SNPE HTP Offline Prepare: Saved cached DLC to mobile_bert_float.dlc\n", + "[USER_INFO] BackendTerminate triggered\n", + "[INFO] DebugLog shutting down.\n" + ] + } + ], + "source": [ + "%%bash\n", + "snpe-dlc-graph-prepare --input_dlc mobile_bert.dlc --input_list tf_raw_list.txt --output_dlc mobile_bert_float.dlc --use_float_io --set_output_tensors end_logits,start_logits --htp_socs sm8550" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6c159f63-d842-481f-9f41-ebf34c522cb8", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "366aff04-6160-4f85-b0ea-711132fdc06d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64e4b107-1a84-41d9-9301-b42b094f4e3b", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.17" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/ai-solutions/android/05-QuestionAnswering/scripts/qa_model_gen.py b/ai-solutions/android/05-QuestionAnswering/scripts/qa_model_gen.py new file mode 100644 index 00000000..e8697e12 --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/scripts/qa_model_gen.py @@ -0,0 +1,85 @@ +# -*- mode: python -*- +# ============================================================================= +# @@-COPYRIGHT-START-@@ +# +# Copyright (c) 2023 of Qualcomm Innovation Center, Inc. All rights reserved. +# SPDX-License-Identifier: BSD-3-Clause +# +# @@-COPYRIGHT-END-@@ +# ============================================================================= +import tensorflow as tf + +from transformers import TensorType +from transformers import AutoTokenizer, TFAutoModelForQuestionAnswering +import sys + +bs = 1 +SEQ_LEN = 384 +MODEL_NAME = "mrm8488/electra-small-finetuned-squadv2" + +# Allocate tokenizer and model +tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) +model = TFAutoModelForQuestionAnswering.from_pretrained(MODEL_NAME, from_pt=True) + +def model_fn(input_ids, attention_mask, token_type_ids): + output = model(input_ids, attention_mask, token_type_ids) + return (output.start_logits, output.end_logits) + +model_fn = tf.function( + model_fn, + input_signature=[ + tf.TensorSpec(shape=[bs, SEQ_LEN], dtype=tf.int32) , + tf.TensorSpec(shape=[bs, SEQ_LEN], dtype=tf.int32), + tf.TensorSpec(shape=[bs, SEQ_LEN], dtype=tf.int32) + ] +) + +# Sample input +context = "I'm on highway to Paradip" +question = "Where am I ?" + +input_encodings = tokenizer( + question, + context, + return_tensors=TensorType.TENSORFLOW, + # return_tensors="np", + padding='max_length', + return_length=True, + max_length=SEQ_LEN, + return_special_tokens_mask=True + ) +# print(input_encodings) + +print(f"\nContext = \n{context}") +print(f"\nQ. > {question}") +start_logits, end_logits = model_fn(input_encodings.input_ids, input_encodings.attention_mask , input_encodings.token_type_ids) + +answer_start_index = int(tf.math.argmax(start_logits, axis=-1)[0]) +answer_end_index = int(tf.math.argmax(end_logits, axis=-1)[0]) + +predict_answer_tokens = input_encodings.input_ids[0, answer_start_index : answer_end_index + 1] +ans = tokenizer.decode(predict_answer_tokens) +print(f"Prediction: {ans}\n") + +from tensorflow.python.framework.convert_to_constants import convert_variables_to_constants_v2 +frozen_func = convert_variables_to_constants_v2(model_fn.get_concrete_function()) + +layers = [op.name for op in frozen_func.graph.get_operations()] +print("-" * 50) +print("NO. of Frozen model layers: {}".format(len(layers))) + +print("-" * 50) +print("Frozen model inputs: ") +print(frozen_func.inputs) +print("Frozen model outputs: ") +print(frozen_func.outputs) + +graph_def = frozen_func.graph.as_graph_def() + +graph_def = tf.compat.v1.graph_util.remove_training_nodes(graph_def) + +tf.io.write_graph(graph_or_graph_def=graph_def, + logdir="./frozen_models", + name="electra_small_squad2.pb", + as_text=False) + diff --git a/ai-solutions/android/05-QuestionAnswering/snpe-release/readme.txt b/ai-solutions/android/05-QuestionAnswering/snpe-release/readme.txt new file mode 100644 index 00000000..fa1cef3d --- /dev/null +++ b/ai-solutions/android/05-QuestionAnswering/snpe-release/readme.txt @@ -0,0 +1 @@ +snpe-release.aar from Qualcomm Neural Processing SDK needs to be placed here \ No newline at end of file

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%0A`>L9B8-R&u66ZT%=M! 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%0D<(v{3ByCx2kS_dUlyVa|e*8M*`AJDN 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Á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∋7T-~57>_tU2r;cP&< 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