gitextract_2ty1zw_5/ ├── .gitignore ├── CMakeLists.txt ├── License.txt ├── README.txt ├── cmake/ │ ├── Coverage.cmake │ ├── FindGMock.cmake │ ├── FindLibEvent2.cmake │ ├── FindMySQL.cmake │ ├── HarnessTesting.cmake │ ├── Plugin.cmake │ ├── TextUtils.cmake │ ├── cmake_parse_arguments.cmake │ ├── compile_flags.cmake │ ├── compiler.cmake │ ├── configure.cmake │ ├── docs.cmake │ ├── gmocktest.cmake │ ├── install_layout.cmake │ ├── libutils.cmake │ ├── mysqlx_protobuf.cmake │ ├── packaging.cmake │ ├── platform.cmake │ ├── protobuf.cmake │ ├── settings.cmake │ ├── ssl.cmake │ ├── testing.cmake │ └── version.cmake ├── config.h.in ├── doc/ │ ├── doxygen.cfg.in │ ├── router_doxygen.css │ ├── router_footer.html │ ├── router_header.html │ └── sample_mysqlrouter.conf ├── ext/ │ ├── RAPIDJSON-README │ ├── duktape/ │ │ └── duktape-2.1.0/ │ │ ├── LICENSE.txt │ │ ├── README.rst │ │ ├── extras/ │ │ │ ├── README.rst │ │ │ ├── alloc-pool/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_alloc_pool.c │ │ │ │ ├── duk_alloc_pool.h │ │ │ │ ├── ptrcomp.yaml │ │ │ │ ├── ptrcomp_fixup.h │ │ │ │ └── test.c │ │ │ ├── console/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_console.c │ │ │ │ ├── duk_console.h │ │ │ │ └── test.c │ │ │ ├── duk-v1-compat/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_v1_compat.c │ │ │ │ ├── duk_v1_compat.h │ │ │ │ ├── test.c │ │ │ │ ├── test_compile1.js │ │ │ │ ├── test_compile2.js │ │ │ │ ├── test_eval1.js │ │ │ │ └── test_eval2.js │ │ │ ├── logging/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_logging.c │ │ │ │ ├── duk_logging.h │ │ │ │ └── test.c │ │ │ ├── minimal-printf/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_minimal_printf.c │ │ │ │ ├── duk_minimal_printf.h │ │ │ │ └── test.c │ │ │ ├── module-duktape/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_module_duktape.c │ │ │ │ ├── duk_module_duktape.h │ │ │ │ └── test.c │ │ │ ├── module-node/ │ │ │ │ ├── Makefile │ │ │ │ ├── README.rst │ │ │ │ ├── duk_module_node.c │ │ │ │ ├── duk_module_node.h │ │ │ │ └── test.c │ │ │ └── print-alert/ │ │ │ ├── Makefile │ │ │ ├── README.rst │ │ │ ├── duk_print_alert.c │ │ │ ├── duk_print_alert.h │ │ │ └── test.c │ │ ├── licenses/ │ │ │ ├── commonjs.txt │ │ │ ├── lua.txt │ │ │ ├── murmurhash2.txt │ │ │ ├── splitmix64.txt │ │ │ └── xoroshiro128plus.txt │ │ └── src/ │ │ ├── duk_config.h │ │ ├── duk_source_meta.json │ │ ├── duktape.c │ │ └── duktape.h │ ├── gmock/ │ │ ├── CHANGES │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── README │ │ ├── build-aux/ │ │ │ └── .keep │ │ ├── configure.ac │ │ ├── include/ │ │ │ └── gmock/ │ │ │ ├── gmock-actions.h │ │ │ ├── gmock-cardinalities.h │ │ │ ├── gmock-generated-actions.h │ │ │ ├── gmock-generated-actions.h.pump │ │ │ ├── gmock-generated-function-mockers.h │ │ │ ├── gmock-generated-function-mockers.h.pump │ │ │ ├── gmock-generated-matchers.h │ │ │ ├── gmock-generated-matchers.h.pump │ │ │ ├── gmock-generated-nice-strict.h │ │ │ ├── gmock-generated-nice-strict.h.pump │ │ │ ├── gmock-matchers.h │ │ │ ├── gmock-more-actions.h │ │ │ ├── gmock-more-matchers.h │ │ │ ├── gmock-spec-builders.h │ │ │ ├── gmock.h │ │ │ └── internal/ │ │ │ ├── gmock-generated-internal-utils.h │ │ │ ├── gmock-generated-internal-utils.h.pump │ │ │ ├── gmock-internal-utils.h │ │ │ └── gmock-port.h │ │ ├── make/ │ │ │ └── Makefile │ │ ├── msvc/ │ │ │ ├── 2005/ │ │ │ │ ├── gmock.sln │ │ │ │ ├── gmock.vcproj │ │ │ │ ├── gmock_config.vsprops │ │ │ │ ├── gmock_main.vcproj │ │ │ │ └── gmock_test.vcproj │ │ │ └── 2010/ │ │ │ ├── gmock.sln │ │ │ ├── gmock.vcxproj │ │ │ ├── gmock_config.props │ │ │ ├── gmock_main.vcxproj │ │ │ └── gmock_test.vcxproj │ │ ├── scripts/ │ │ │ ├── fuse_gmock_files.py │ │ │ ├── generator/ │ │ │ │ ├── LICENSE │ │ │ │ ├── README │ │ │ │ ├── README.cppclean │ │ │ │ ├── cpp/ │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── ast.py │ │ │ │ │ ├── gmock_class.py │ │ │ │ │ ├── gmock_class_test.py │ │ │ │ │ ├── keywords.py │ │ │ │ │ ├── tokenize.py │ │ │ │ │ └── utils.py │ │ │ │ └── gmock_gen.py │ │ │ ├── gmock-config.in │ │ │ ├── gmock_doctor.py │ │ │ ├── upload.py │ │ │ └── upload_gmock.py │ │ ├── src/ │ │ │ ├── gmock-all.cc │ │ │ ├── gmock-cardinalities.cc │ │ │ ├── gmock-internal-utils.cc │ │ │ ├── gmock-matchers.cc │ │ │ ├── gmock-spec-builders.cc │ │ │ ├── gmock.cc │ │ │ └── gmock_main.cc │ │ └── test/ │ │ ├── gmock-actions_test.cc │ │ ├── gmock-cardinalities_test.cc │ │ ├── gmock-generated-actions_test.cc │ │ ├── gmock-generated-function-mockers_test.cc │ │ ├── gmock-generated-internal-utils_test.cc │ │ ├── gmock-generated-matchers_test.cc │ │ ├── gmock-internal-utils_test.cc │ │ ├── gmock-matchers_test.cc │ │ ├── gmock-more-actions_test.cc │ │ ├── gmock-nice-strict_test.cc │ │ ├── gmock-port_test.cc │ │ ├── gmock-spec-builders_test.cc │ │ ├── gmock_all_test.cc │ │ ├── gmock_ex_test.cc │ │ ├── gmock_leak_test.py │ │ ├── gmock_leak_test_.cc │ │ ├── gmock_link2_test.cc │ │ ├── gmock_link_test.cc │ │ ├── gmock_link_test.h │ │ ├── gmock_output_test.py │ │ ├── gmock_output_test_.cc │ │ ├── gmock_output_test_golden.txt │ │ ├── gmock_stress_test.cc │ │ ├── gmock_test.cc │ │ └── gmock_test_utils.py │ ├── gtest/ │ │ ├── CHANGES │ │ ├── CMakeLists.txt │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── README │ │ ├── build-aux/ │ │ │ └── .keep │ │ ├── cmake/ │ │ │ └── internal_utils.cmake │ │ ├── codegear/ │ │ │ ├── gtest.cbproj │ │ │ ├── gtest.groupproj │ │ │ ├── gtest_all.cc │ │ │ ├── gtest_link.cc │ │ │ ├── gtest_main.cbproj │ │ │ └── gtest_unittest.cbproj │ │ ├── configure.ac │ │ ├── include/ │ │ │ └── gtest/ │ │ │ ├── gtest-death-test.h │ │ │ ├── gtest-message.h │ │ │ ├── gtest-param-test.h │ │ │ ├── gtest-param-test.h.pump │ │ │ ├── gtest-printers.h │ │ │ ├── gtest-spi.h │ │ │ ├── gtest-test-part.h │ │ │ ├── gtest-typed-test.h │ │ │ ├── gtest.h │ │ │ ├── gtest_pred_impl.h │ │ │ ├── gtest_prod.h │ │ │ └── internal/ │ │ │ ├── gtest-death-test-internal.h │ │ │ ├── gtest-filepath.h │ │ │ ├── gtest-internal.h │ │ │ ├── gtest-linked_ptr.h │ │ │ ├── gtest-param-util-generated.h │ │ │ ├── gtest-param-util-generated.h.pump │ │ │ ├── gtest-param-util.h │ │ │ ├── gtest-port.h │ │ │ ├── gtest-string.h │ │ │ ├── gtest-tuple.h │ │ │ ├── gtest-tuple.h.pump │ │ │ ├── gtest-type-util.h │ │ │ └── gtest-type-util.h.pump │ │ ├── m4/ │ │ │ ├── acx_pthread.m4 │ │ │ └── gtest.m4 │ │ ├── make/ │ │ │ └── Makefile │ │ ├── msvc/ │ │ │ ├── gtest-md.sln │ │ │ ├── gtest-md.vcproj │ │ │ ├── gtest.sln │ │ │ ├── gtest.vcproj │ │ │ ├── gtest_main-md.vcproj │ │ │ ├── gtest_main.vcproj │ │ │ ├── gtest_prod_test-md.vcproj │ │ │ ├── gtest_prod_test.vcproj │ │ │ ├── gtest_unittest-md.vcproj │ │ │ └── gtest_unittest.vcproj │ │ ├── samples/ │ │ │ ├── prime_tables.h │ │ │ ├── sample1.cc │ │ │ ├── sample1.h │ │ │ ├── sample10_unittest.cc │ │ │ ├── sample1_unittest.cc │ │ │ ├── sample2.cc │ │ │ ├── sample2.h │ │ │ ├── sample2_unittest.cc │ │ │ ├── sample3-inl.h │ │ │ ├── sample3_unittest.cc │ │ │ ├── sample4.cc │ │ │ ├── sample4.h │ │ │ ├── sample4_unittest.cc │ │ │ ├── sample5_unittest.cc │ │ │ ├── sample6_unittest.cc │ │ │ ├── sample7_unittest.cc │ │ │ ├── sample8_unittest.cc │ │ │ └── sample9_unittest.cc │ │ ├── scripts/ │ │ │ ├── fuse_gtest_files.py │ │ │ ├── gen_gtest_pred_impl.py │ │ │ ├── gtest-config.in │ │ │ ├── pump.py │ │ │ ├── test/ │ │ │ │ └── Makefile │ │ │ ├── upload.py │ │ │ └── upload_gtest.py │ │ ├── src/ │ │ │ ├── gtest-all.cc │ │ │ ├── gtest-death-test.cc │ │ │ ├── gtest-filepath.cc │ │ │ ├── gtest-internal-inl.h │ │ │ ├── gtest-port.cc │ │ │ ├── gtest-printers.cc │ │ │ ├── gtest-test-part.cc │ │ │ ├── gtest-typed-test.cc │ │ │ ├── gtest.cc │ │ │ └── gtest_main.cc │ │ ├── test/ │ │ │ ├── gtest-death-test_ex_test.cc │ │ │ ├── gtest-death-test_test.cc │ │ │ ├── gtest-filepath_test.cc │ │ │ ├── gtest-linked_ptr_test.cc │ │ │ ├── gtest-listener_test.cc │ │ │ ├── gtest-message_test.cc │ │ │ ├── gtest-options_test.cc │ │ │ ├── gtest-param-test2_test.cc │ │ │ ├── gtest-param-test_test.cc │ │ │ ├── gtest-param-test_test.h │ │ │ ├── gtest-port_test.cc │ │ │ ├── gtest-printers_test.cc │ │ │ ├── gtest-test-part_test.cc │ │ │ ├── gtest-tuple_test.cc │ │ │ ├── gtest-typed-test2_test.cc │ │ │ ├── gtest-typed-test_test.cc │ │ │ ├── gtest-typed-test_test.h │ │ │ ├── gtest-unittest-api_test.cc │ │ │ ├── gtest_all_test.cc │ │ │ ├── gtest_break_on_failure_unittest.py │ │ │ ├── gtest_break_on_failure_unittest_.cc │ │ │ ├── gtest_catch_exceptions_test.py │ │ │ ├── gtest_catch_exceptions_test_.cc │ │ │ ├── gtest_color_test.py │ │ │ ├── gtest_color_test_.cc │ │ │ ├── gtest_env_var_test.py │ │ │ ├── gtest_env_var_test_.cc │ │ │ ├── gtest_environment_test.cc │ │ │ ├── gtest_filter_unittest.py │ │ │ ├── gtest_filter_unittest_.cc │ │ │ ├── gtest_help_test.py │ │ │ ├── gtest_help_test_.cc │ │ │ ├── gtest_list_tests_unittest.py │ │ │ ├── gtest_list_tests_unittest_.cc │ │ │ ├── gtest_main_unittest.cc │ │ │ ├── gtest_no_test_unittest.cc │ │ │ ├── gtest_output_test.py │ │ │ ├── gtest_output_test_.cc │ │ │ ├── gtest_output_test_golden_lin.txt │ │ │ ├── gtest_pred_impl_unittest.cc │ │ │ ├── gtest_premature_exit_test.cc │ │ │ ├── gtest_prod_test.cc │ │ │ ├── gtest_repeat_test.cc │ │ │ ├── gtest_shuffle_test.py │ │ │ ├── gtest_shuffle_test_.cc │ │ │ ├── gtest_sole_header_test.cc │ │ │ ├── gtest_stress_test.cc │ │ │ ├── gtest_test_utils.py │ │ │ ├── gtest_throw_on_failure_ex_test.cc │ │ │ ├── gtest_throw_on_failure_test.py │ │ │ ├── gtest_throw_on_failure_test_.cc │ │ │ ├── gtest_uninitialized_test.py │ │ │ ├── gtest_uninitialized_test_.cc │ │ │ ├── gtest_unittest.cc │ │ │ ├── gtest_xml_outfile1_test_.cc │ │ │ ├── gtest_xml_outfile2_test_.cc │ │ │ ├── gtest_xml_outfiles_test.py │ │ │ ├── gtest_xml_output_unittest.py │ │ │ ├── gtest_xml_output_unittest_.cc │ │ │ ├── gtest_xml_test_utils.py │ │ │ ├── production.cc │ │ │ └── production.h │ │ └── xcode/ │ │ ├── Config/ │ │ │ ├── DebugProject.xcconfig │ │ │ ├── FrameworkTarget.xcconfig │ │ │ ├── General.xcconfig │ │ │ ├── ReleaseProject.xcconfig │ │ │ ├── StaticLibraryTarget.xcconfig │ │ │ └── TestTarget.xcconfig │ │ ├── Resources/ │ │ │ └── Info.plist │ │ ├── Samples/ │ │ │ └── FrameworkSample/ │ │ │ ├── Info.plist │ │ │ ├── WidgetFramework.xcodeproj/ │ │ │ │ └── project.pbxproj │ │ │ ├── runtests.sh │ │ │ ├── widget.cc │ │ │ ├── widget.h │ │ │ └── widget_test.cc │ │ ├── Scripts/ │ │ │ ├── runtests.sh │ │ │ └── versiongenerate.py │ │ └── gtest.xcodeproj/ │ │ └── project.pbxproj │ ├── protobuf/ │ │ ├── CMakeLists.txt │ │ └── protobuf-3.0.0/ │ │ ├── BUILD │ │ ├── CHANGES.txt │ │ ├── CONTRIBUTORS.txt │ │ ├── LICENSE │ │ ├── Makefile.am │ │ ├── Makefile.in │ │ ├── README.md │ │ ├── WORKSPACE │ │ ├── aclocal.m4 │ │ ├── ar-lib │ │ ├── autogen.sh │ │ ├── cmake/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── examples.cmake │ │ │ ├── extract_includes.bat.in │ │ │ ├── install.cmake │ │ │ ├── libprotobuf-lite.cmake │ │ │ ├── libprotobuf.cmake │ │ │ ├── libprotoc.cmake │ │ │ ├── protobuf-config-version.cmake.in │ │ │ ├── protobuf-config.cmake.in │ │ │ ├── protobuf-module.cmake.in │ │ │ ├── protobuf-options.cmake │ │ │ ├── protoc.cmake │ │ │ └── tests.cmake │ │ ├── compile │ │ ├── config.guess │ │ ├── config.h.in │ │ ├── config.sub │ │ ├── configure │ │ ├── configure.ac │ │ ├── conformance/ │ │ │ ├── ConformanceJava.java │ │ │ ├── ConformanceJavaLite.java │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README.md │ │ │ ├── conformance.proto │ │ │ ├── conformance_cpp.cc │ │ │ ├── conformance_objc.m │ │ │ ├── conformance_python.py │ │ │ ├── conformance_ruby.rb │ │ │ ├── conformance_test.cc │ │ │ ├── conformance_test.h │ │ │ ├── conformance_test_runner.cc │ │ │ ├── failure_list_cpp.txt │ │ │ ├── failure_list_csharp.txt │ │ │ ├── failure_list_java.txt │ │ │ ├── failure_list_objc.txt │ │ │ ├── failure_list_python-post26.txt │ │ │ ├── failure_list_python.txt │ │ │ ├── failure_list_python_cpp.txt │ │ │ ├── failure_list_ruby.txt │ │ │ └── third_party/ │ │ │ └── jsoncpp/ │ │ │ ├── json.h │ │ │ └── jsoncpp.cpp │ │ ├── depcomp │ │ ├── editors/ │ │ │ ├── README.txt │ │ │ ├── proto.vim │ │ │ └── protobuf-mode.el │ │ ├── generate_descriptor_proto.sh │ │ ├── gmock.BUILD │ │ ├── install-sh │ │ ├── ltmain.sh │ │ ├── m4/ │ │ │ ├── ac_system_extensions.m4 │ │ │ ├── acx_check_suncc.m4 │ │ │ ├── acx_pthread.m4 │ │ │ ├── libtool.m4 │ │ │ ├── ltoptions.m4 │ │ │ ├── ltsugar.m4 │ │ │ ├── ltversion.m4 │ │ │ ├── lt~obsolete.m4 │ │ │ └── stl_hash.m4 │ │ ├── missing │ │ ├── protobuf-lite.pc.in │ │ ├── protobuf.bzl │ │ ├── protobuf.pc.in │ │ ├── six.BUILD │ │ ├── src/ │ │ │ ├── Makefile.am │ │ │ ├── Makefile.in │ │ │ ├── README.md │ │ │ └── google/ │ │ │ └── protobuf/ │ │ │ ├── any.cc │ │ │ ├── any.h │ │ │ ├── any.pb.cc │ │ │ ├── any.pb.h │ │ │ ├── any.proto │ │ │ ├── any_test.cc │ │ │ ├── any_test.proto │ │ │ ├── api.pb.cc │ │ │ ├── api.pb.h │ │ │ ├── api.proto │ │ │ ├── arena.cc │ │ │ ├── arena.h │ │ │ ├── arena_test_util.cc │ │ │ ├── arena_test_util.h │ │ │ ├── arena_unittest.cc │ │ │ ├── arenastring.cc │ │ │ ├── arenastring.h │ │ │ ├── arenastring_unittest.cc │ │ │ ├── compiler/ │ │ │ │ ├── code_generator.cc │ │ │ │ ├── code_generator.h │ │ │ │ ├── command_line_interface.cc │ │ │ │ ├── command_line_interface.h │ │ │ │ ├── command_line_interface_unittest.cc │ │ │ │ ├── cpp/ │ │ │ │ │ ├── cpp_bootstrap_unittest.cc │ │ │ │ │ ├── cpp_enum.cc │ │ │ │ │ ├── cpp_enum.h │ │ │ │ │ ├── cpp_enum_field.cc │ │ │ │ │ ├── cpp_enum_field.h │ │ │ │ │ ├── cpp_extension.cc │ │ │ │ │ ├── cpp_extension.h │ │ │ │ │ ├── cpp_field.cc │ │ │ │ │ ├── cpp_field.h │ │ │ │ │ ├── cpp_file.cc │ │ │ │ │ ├── cpp_file.h │ │ │ │ │ ├── cpp_generator.cc │ │ │ │ │ ├── cpp_generator.h │ │ │ │ │ ├── cpp_helpers.cc │ │ │ │ │ ├── cpp_helpers.h │ │ │ │ │ ├── cpp_map_field.cc │ │ │ │ │ ├── cpp_map_field.h │ │ │ │ │ ├── cpp_message.cc │ │ │ │ │ ├── cpp_message.h │ │ │ │ │ ├── cpp_message_field.cc │ │ │ │ │ ├── cpp_message_field.h │ │ │ │ │ ├── cpp_options.h │ │ │ │ │ ├── cpp_plugin_unittest.cc │ │ │ │ │ ├── cpp_primitive_field.cc │ │ │ │ │ ├── cpp_primitive_field.h │ │ │ │ │ ├── cpp_service.cc │ │ │ │ │ ├── cpp_service.h │ │ │ │ │ ├── cpp_string_field.cc │ │ │ │ │ ├── cpp_string_field.h │ │ │ │ │ ├── cpp_test_bad_identifiers.proto │ │ │ │ │ ├── cpp_test_large_enum_value.proto │ │ │ │ │ ├── cpp_unittest.cc │ │ │ │ │ ├── cpp_unittest.h │ │ │ │ │ └── metadata_test.cc │ │ │ │ ├── csharp/ │ │ │ │ │ ├── csharp_doc_comment.cc │ │ │ │ │ ├── csharp_doc_comment.h │ │ │ │ │ ├── csharp_enum.cc │ │ │ │ │ ├── csharp_enum.h │ │ │ │ │ ├── csharp_enum_field.cc │ │ │ │ │ ├── csharp_enum_field.h │ │ │ │ │ ├── csharp_field_base.cc │ │ │ │ │ ├── csharp_field_base.h │ │ │ │ │ ├── csharp_generator.cc │ │ │ │ │ ├── csharp_generator.h │ │ │ │ │ ├── csharp_generator_unittest.cc │ │ │ │ │ ├── csharp_helpers.cc │ │ │ │ │ ├── csharp_helpers.h │ │ │ │ │ ├── csharp_map_field.cc │ │ │ │ │ ├── csharp_map_field.h │ │ │ │ │ ├── csharp_message.cc │ │ │ │ │ ├── csharp_message.h │ │ │ │ │ ├── csharp_message_field.cc │ │ │ │ │ ├── csharp_message_field.h │ │ │ │ │ ├── csharp_names.h │ │ │ │ │ ├── csharp_options.h │ │ │ │ │ ├── csharp_primitive_field.cc │ │ │ │ │ ├── csharp_primitive_field.h │ │ │ │ │ ├── csharp_reflection_class.cc │ │ │ │ │ ├── csharp_reflection_class.h │ │ │ │ │ ├── csharp_repeated_enum_field.cc │ │ │ │ │ ├── csharp_repeated_enum_field.h │ │ │ │ │ ├── csharp_repeated_message_field.cc │ │ │ │ │ ├── csharp_repeated_message_field.h │ │ │ │ │ ├── csharp_repeated_primitive_field.cc │ │ │ │ │ ├── csharp_repeated_primitive_field.h │ │ │ │ │ ├── csharp_source_generator_base.cc │ │ │ │ │ ├── csharp_source_generator_base.h │ │ │ │ │ ├── csharp_wrapper_field.cc │ │ │ │ │ └── csharp_wrapper_field.h │ │ │ │ ├── importer.cc │ │ │ │ ├── importer.h │ │ │ │ ├── importer_unittest.cc │ │ │ │ ├── java/ │ │ │ │ │ ├── java_context.cc │ │ │ │ │ ├── java_context.h │ │ │ │ │ ├── java_doc_comment.cc │ │ │ │ │ ├── java_doc_comment.h │ │ │ │ │ ├── java_doc_comment_unittest.cc │ │ │ │ │ ├── java_enum.cc │ │ │ │ │ ├── java_enum.h │ │ │ │ │ ├── java_enum_field.cc │ │ │ │ │ ├── java_enum_field.h │ │ │ │ │ ├── java_enum_field_lite.cc │ │ │ │ │ ├── java_enum_field_lite.h │ │ │ │ │ ├── java_enum_lite.cc │ │ │ │ │ ├── java_enum_lite.h │ │ │ │ │ ├── java_extension.cc │ │ │ │ │ ├── java_extension.h │ │ │ │ │ ├── java_extension_lite.cc │ │ │ │ │ ├── java_extension_lite.h │ │ │ │ │ ├── java_field.cc │ │ │ │ │ ├── java_field.h │ │ │ │ │ ├── java_file.cc │ │ │ │ │ ├── java_file.h │ │ │ │ │ ├── java_generator.cc │ │ │ │ │ ├── java_generator.h │ │ │ │ │ ├── java_generator_factory.cc │ │ │ │ │ ├── java_generator_factory.h │ │ │ │ │ ├── java_helpers.cc │ │ │ │ │ ├── java_helpers.h │ │ │ │ │ ├── java_lazy_message_field.cc │ │ │ │ │ ├── java_lazy_message_field.h │ │ │ │ │ ├── java_lazy_message_field_lite.cc │ │ │ │ │ ├── java_lazy_message_field_lite.h │ │ │ │ │ ├── java_map_field.cc │ │ │ │ │ ├── java_map_field.h │ │ │ │ │ ├── java_map_field_lite.cc │ │ │ │ │ ├── java_map_field_lite.h │ │ │ │ │ ├── java_message.cc │ │ │ │ │ ├── java_message.h │ │ │ │ │ ├── java_message_builder.cc │ │ │ │ │ ├── java_message_builder.h │ │ │ │ │ ├── java_message_builder_lite.cc │ │ │ │ │ ├── java_message_builder_lite.h │ │ │ │ │ ├── java_message_field.cc │ │ │ │ │ ├── java_message_field.h │ │ │ │ │ ├── java_message_field_lite.cc │ │ │ │ │ ├── java_message_field_lite.h │ │ │ │ │ ├── java_message_lite.cc │ │ │ │ │ ├── java_message_lite.h │ │ │ │ │ ├── java_name_resolver.cc │ │ │ │ │ ├── java_name_resolver.h │ │ │ │ │ ├── java_names.h │ │ │ │ │ ├── java_options.h │ │ │ │ │ ├── java_plugin_unittest.cc │ │ │ │ │ ├── java_primitive_field.cc │ │ │ │ │ ├── java_primitive_field.h │ │ │ │ │ ├── java_primitive_field_lite.cc │ │ │ │ │ ├── java_primitive_field_lite.h │ │ │ │ │ ├── java_service.cc │ │ │ │ │ ├── java_service.h │ │ │ │ │ ├── java_shared_code_generator.cc │ │ │ │ │ ├── java_shared_code_generator.h │ │ │ │ │ ├── java_string_field.cc │ │ │ │ │ ├── java_string_field.h │ │ │ │ │ ├── java_string_field_lite.cc │ │ │ │ │ └── java_string_field_lite.h │ │ │ │ ├── javanano/ │ │ │ │ │ ├── javanano_enum.cc │ │ │ │ │ ├── javanano_enum.h │ │ │ │ │ ├── javanano_enum_field.cc │ │ │ │ │ ├── javanano_enum_field.h │ │ │ │ │ ├── javanano_extension.cc │ │ │ │ │ ├── javanano_extension.h │ │ │ │ │ ├── javanano_field.cc │ │ │ │ │ ├── javanano_field.h │ │ │ │ │ ├── javanano_file.cc │ │ │ │ │ ├── javanano_file.h │ │ │ │ │ ├── javanano_generator.cc │ │ │ │ │ ├── javanano_generator.h │ │ │ │ │ ├── javanano_helpers.cc │ │ │ │ │ ├── javanano_helpers.h │ │ │ │ │ ├── javanano_map_field.cc │ │ │ │ │ ├── javanano_map_field.h │ │ │ │ │ ├── javanano_message.cc │ │ │ │ │ ├── javanano_message.h │ │ │ │ │ ├── javanano_message_field.cc │ │ │ │ │ ├── javanano_message_field.h │ │ │ │ │ ├── javanano_params.h │ │ │ │ │ ├── javanano_primitive_field.cc │ │ │ │ │ └── javanano_primitive_field.h │ │ │ │ ├── js/ │ │ │ │ │ ├── js_generator.cc │ │ │ │ │ └── js_generator.h │ │ │ │ ├── main.cc │ │ │ │ ├── mock_code_generator.cc │ │ │ │ ├── mock_code_generator.h │ │ │ │ ├── objectivec/ │ │ │ │ │ ├── objectivec_enum.cc │ │ │ │ │ ├── objectivec_enum.h │ │ │ │ │ ├── objectivec_enum_field.cc │ │ │ │ │ ├── objectivec_enum_field.h │ │ │ │ │ ├── objectivec_extension.cc │ │ │ │ │ ├── objectivec_extension.h │ │ │ │ │ ├── objectivec_field.cc │ │ │ │ │ ├── objectivec_field.h │ │ │ │ │ ├── objectivec_file.cc │ │ │ │ │ ├── objectivec_file.h │ │ │ │ │ ├── objectivec_generator.cc │ │ │ │ │ ├── objectivec_generator.h │ │ │ │ │ ├── objectivec_helpers.cc │ │ │ │ │ ├── objectivec_helpers.h │ │ │ │ │ ├── objectivec_helpers_unittest.cc │ │ │ │ │ ├── objectivec_map_field.cc │ │ │ │ │ ├── objectivec_map_field.h │ │ │ │ │ ├── objectivec_message.cc │ │ │ │ │ ├── objectivec_message.h │ │ │ │ │ ├── objectivec_message_field.cc │ │ │ │ │ ├── objectivec_message_field.h │ │ │ │ │ ├── objectivec_oneof.cc │ │ │ │ │ ├── objectivec_oneof.h │ │ │ │ │ ├── objectivec_primitive_field.cc │ │ │ │ │ └── objectivec_primitive_field.h │ │ │ │ ├── package_info.h │ │ │ │ ├── parser.cc │ │ │ │ ├── parser.h │ │ │ │ ├── parser_unittest.cc │ │ │ │ ├── plugin.cc │ │ │ │ ├── plugin.h │ │ │ │ ├── plugin.pb.cc │ │ │ │ ├── plugin.pb.h │ │ │ │ ├── plugin.proto │ │ │ │ ├── python/ │ │ │ │ │ ├── python_generator.cc │ │ │ │ │ ├── python_generator.h │ │ │ │ │ └── python_plugin_unittest.cc │ │ │ │ ├── ruby/ │ │ │ │ │ ├── ruby_generated_code.proto │ │ │ │ │ ├── ruby_generated_code_pb.rb │ │ │ │ │ ├── ruby_generator.cc │ │ │ │ │ ├── ruby_generator.h │ │ │ │ │ └── ruby_generator_unittest.cc │ │ │ │ ├── subprocess.cc │ │ │ │ ├── subprocess.h │ │ │ │ ├── test_plugin.cc │ │ │ │ ├── zip_output_unittest.sh │ │ │ │ ├── zip_writer.cc │ │ │ │ └── zip_writer.h │ │ │ ├── descriptor.cc │ │ │ ├── descriptor.h │ │ │ ├── descriptor.pb.cc │ │ │ ├── descriptor.pb.h │ │ │ ├── descriptor.proto │ │ │ ├── descriptor_database.cc │ │ │ ├── descriptor_database.h │ │ │ ├── descriptor_database_unittest.cc │ │ │ ├── descriptor_unittest.cc │ │ │ ├── drop_unknown_fields_test.cc │ │ │ ├── duration.pb.cc │ │ │ ├── duration.pb.h │ │ │ ├── duration.proto │ │ │ ├── dynamic_message.cc │ │ │ ├── dynamic_message.h │ │ │ ├── dynamic_message_unittest.cc │ │ │ ├── empty.pb.cc │ │ │ ├── empty.pb.h │ │ │ ├── empty.proto │ │ │ ├── extension_set.cc │ │ │ ├── extension_set.h │ │ │ ├── extension_set_heavy.cc │ │ │ ├── extension_set_unittest.cc │ │ │ ├── field_mask.pb.cc │ │ │ ├── field_mask.pb.h │ │ │ ├── field_mask.proto │ │ │ ├── generated_enum_reflection.h │ │ │ ├── generated_enum_util.h │ │ │ ├── generated_message_reflection.cc │ │ │ ├── generated_message_reflection.h │ │ │ ├── generated_message_reflection_unittest.cc │ │ │ ├── generated_message_util.cc │ │ │ ├── generated_message_util.h │ │ │ ├── io/ │ │ │ │ ├── coded_stream.cc │ │ │ │ ├── coded_stream.h │ │ │ │ ├── coded_stream_inl.h │ │ │ │ ├── coded_stream_unittest.cc │ │ │ │ ├── gzip_stream.cc │ │ │ │ ├── gzip_stream.h │ │ │ │ ├── gzip_stream_unittest.sh │ │ │ │ ├── package_info.h │ │ │ │ ├── printer.cc │ │ │ │ ├── printer.h │ │ │ │ ├── printer_unittest.cc │ │ │ │ ├── strtod.cc │ │ │ │ ├── strtod.h │ │ │ │ ├── tokenizer.cc │ │ │ │ ├── tokenizer.h │ │ │ │ ├── tokenizer_unittest.cc │ │ │ │ ├── zero_copy_stream.cc │ │ │ │ ├── zero_copy_stream.h │ │ │ │ ├── zero_copy_stream_impl.cc │ │ │ │ ├── zero_copy_stream_impl.h │ │ │ │ ├── zero_copy_stream_impl_lite.cc │ │ │ │ ├── zero_copy_stream_impl_lite.h │ │ │ │ └── zero_copy_stream_unittest.cc │ │ │ ├── lite_arena_unittest.cc │ │ │ ├── lite_unittest.cc │ │ │ ├── map.h │ │ │ ├── map_entry.h │ │ │ ├── map_entry_lite.h │ │ │ ├── map_field.cc │ │ │ ├── map_field.h │ │ │ ├── map_field_inl.h │ │ │ ├── map_field_lite.h │ │ │ ├── map_field_test.cc │ │ │ ├── map_lite_test_util.cc │ │ │ ├── map_lite_test_util.h │ │ │ ├── map_lite_unittest.proto │ │ │ ├── map_proto2_unittest.proto │ │ │ ├── map_test.cc │ │ │ ├── map_test_util.cc │ │ │ ├── map_test_util.h │ │ │ ├── map_test_util_impl.h │ │ │ ├── map_type_handler.h │ │ │ ├── map_unittest.proto │ │ │ ├── message.cc │ │ │ ├── message.h │ │ │ ├── message_lite.cc │ │ │ ├── message_lite.h │ │ │ ├── message_unittest.cc │ │ │ ├── metadata.h │ │ │ ├── no_field_presence_test.cc │ │ │ ├── package_info.h │ │ │ ├── preserve_unknown_enum_test.cc │ │ │ ├── proto3_arena_lite_unittest.cc │ │ │ ├── proto3_arena_unittest.cc │ │ │ ├── proto3_lite_unittest.cc │ │ │ ├── reflection.h │ │ │ ├── reflection_internal.h │ │ │ ├── reflection_ops.cc │ │ │ ├── reflection_ops.h │ │ │ ├── reflection_ops_unittest.cc │ │ │ ├── repeated_field.cc │ │ │ ├── repeated_field.h │ │ │ ├── repeated_field_reflection_unittest.cc │ │ │ ├── repeated_field_unittest.cc │ │ │ ├── service.cc │ │ │ ├── service.h │ │ │ ├── source_context.pb.cc │ │ │ ├── source_context.pb.h │ │ │ ├── source_context.proto │ │ │ ├── struct.pb.cc │ │ │ ├── struct.pb.h │ │ │ ├── struct.proto │ │ │ ├── stubs/ │ │ │ │ ├── atomic_sequence_num.h │ │ │ │ ├── atomicops.h │ │ │ │ ├── atomicops_internals_arm64_gcc.h │ │ │ │ ├── atomicops_internals_arm_gcc.h │ │ │ │ ├── atomicops_internals_arm_qnx.h │ │ │ │ ├── atomicops_internals_atomicword_compat.h │ │ │ │ ├── atomicops_internals_generic_gcc.h │ │ │ │ ├── atomicops_internals_macosx.h │ │ │ │ ├── atomicops_internals_mips_gcc.h │ │ │ │ ├── atomicops_internals_pnacl.h │ │ │ │ ├── atomicops_internals_power.h │ │ │ │ ├── atomicops_internals_ppc_gcc.h │ │ │ │ ├── atomicops_internals_solaris.h │ │ │ │ ├── atomicops_internals_tsan.h │ │ │ │ ├── atomicops_internals_x86_gcc.cc │ │ │ │ ├── atomicops_internals_x86_gcc.h │ │ │ │ ├── atomicops_internals_x86_msvc.cc │ │ │ │ ├── atomicops_internals_x86_msvc.h │ │ │ │ ├── bytestream.cc │ │ │ │ ├── bytestream.h │ │ │ │ ├── bytestream_unittest.cc │ │ │ │ ├── callback.h │ │ │ │ ├── casts.h │ │ │ │ ├── common.cc │ │ │ │ ├── common.h │ │ │ │ ├── common_unittest.cc │ │ │ │ ├── fastmem.h │ │ │ │ ├── hash.h │ │ │ │ ├── int128.cc │ │ │ │ ├── int128.h │ │ │ │ ├── int128_unittest.cc │ │ │ │ ├── logging.h │ │ │ │ ├── macros.h │ │ │ │ ├── map_util.h │ │ │ │ ├── mathlimits.cc │ │ │ │ ├── mathlimits.h │ │ │ │ ├── mathutil.h │ │ │ │ ├── mutex.h │ │ │ │ ├── once.cc │ │ │ │ ├── once.h │ │ │ │ ├── once_unittest.cc │ │ │ │ ├── platform_macros.h │ │ │ │ ├── port.h │ │ │ │ ├── scoped_ptr.h │ │ │ │ ├── shared_ptr.h │ │ │ │ ├── singleton.h │ │ │ │ ├── status.cc │ │ │ │ ├── status.h │ │ │ │ ├── status_macros.h │ │ │ │ ├── status_test.cc │ │ │ │ ├── statusor.cc │ │ │ │ ├── statusor.h │ │ │ │ ├── statusor_test.cc │ │ │ │ ├── stl_util.h │ │ │ │ ├── stringpiece.cc │ │ │ │ ├── stringpiece.h │ │ │ │ ├── stringpiece_unittest.cc │ │ │ │ ├── stringprintf.cc │ │ │ │ ├── stringprintf.h │ │ │ │ ├── stringprintf_unittest.cc │ │ │ │ ├── structurally_valid.cc │ │ │ │ ├── structurally_valid_unittest.cc │ │ │ │ ├── strutil.cc │ │ │ │ ├── strutil.h │ │ │ │ ├── strutil_unittest.cc │ │ │ │ ├── substitute.cc │ │ │ │ ├── substitute.h │ │ │ │ ├── template_util.h │ │ │ │ ├── template_util_unittest.cc │ │ │ │ ├── time.cc │ │ │ │ ├── time.h │ │ │ │ ├── time_test.cc │ │ │ │ ├── type_traits.h │ │ │ │ └── type_traits_unittest.cc │ │ │ ├── test_util.cc │ │ │ ├── test_util.h │ │ │ ├── test_util_lite.cc │ │ │ ├── test_util_lite.h │ │ │ ├── testdata/ │ │ │ │ ├── bad_utf8_string │ │ │ │ ├── golden_message │ │ │ │ ├── golden_message_maps │ │ │ │ ├── golden_message_oneof_implemented │ │ │ │ ├── golden_message_proto3 │ │ │ │ ├── golden_packed_fields_message │ │ │ │ ├── map_test_data.txt │ │ │ │ ├── text_format_unittest_data.txt │ │ │ │ ├── text_format_unittest_data_oneof_implemented.txt │ │ │ │ ├── text_format_unittest_data_pointy.txt │ │ │ │ ├── text_format_unittest_data_pointy_oneof.txt │ │ │ │ ├── text_format_unittest_extensions_data.txt │ │ │ │ └── text_format_unittest_extensions_data_pointy.txt │ │ │ ├── testing/ │ │ │ │ ├── file.cc │ │ │ │ ├── file.h │ │ │ │ ├── googletest.cc │ │ │ │ ├── googletest.h │ │ │ │ ├── zcgunzip.cc │ │ │ │ └── zcgzip.cc │ │ │ ├── text_format.cc │ │ │ ├── text_format.h │ │ │ ├── text_format_unittest.cc │ │ │ ├── timestamp.pb.cc │ │ │ ├── timestamp.pb.h │ │ │ ├── timestamp.proto │ │ │ ├── type.pb.cc │ │ │ ├── type.pb.h │ │ │ ├── type.proto │ │ │ ├── unittest.proto │ │ │ ├── unittest_arena.proto │ │ │ ├── unittest_custom_options.proto │ │ │ ├── unittest_drop_unknown_fields.proto │ │ │ ├── unittest_embed_optimize_for.proto │ │ │ ├── unittest_empty.proto │ │ │ ├── unittest_enormous_descriptor.proto │ │ │ ├── unittest_import.proto │ │ │ ├── unittest_import_lite.proto │ │ │ ├── unittest_import_public.proto │ │ │ ├── unittest_import_public_lite.proto │ │ │ ├── unittest_lite.proto │ │ │ ├── unittest_lite_imports_nonlite.proto │ │ │ ├── unittest_mset.proto │ │ │ ├── unittest_mset_wire_format.proto │ │ │ ├── unittest_no_arena.proto │ │ │ ├── unittest_no_arena_import.proto │ │ │ ├── unittest_no_arena_lite.proto │ │ │ ├── unittest_no_field_presence.proto │ │ │ ├── unittest_no_generic_services.proto │ │ │ ├── unittest_optimize_for.proto │ │ │ ├── unittest_preserve_unknown_enum.proto │ │ │ ├── unittest_preserve_unknown_enum2.proto │ │ │ ├── unittest_proto3_arena.proto │ │ │ ├── unittest_proto3_arena_lite.proto │ │ │ ├── unittest_proto3_lite.proto │ │ │ ├── unittest_well_known_types.proto │ │ │ ├── unknown_field_set.cc │ │ │ ├── unknown_field_set.h │ │ │ ├── unknown_field_set_unittest.cc │ │ │ ├── util/ │ │ │ │ ├── field_comparator.cc │ │ │ │ ├── field_comparator.h │ │ │ │ ├── field_comparator_test.cc │ │ │ │ ├── field_mask_util.cc │ │ │ │ ├── field_mask_util.h │ │ │ │ ├── field_mask_util_test.cc │ │ │ │ ├── internal/ │ │ │ │ │ ├── constants.h │ │ │ │ │ ├── datapiece.cc │ │ │ │ │ ├── datapiece.h │ │ │ │ │ ├── default_value_objectwriter.cc │ │ │ │ │ ├── default_value_objectwriter.h │ │ │ │ │ ├── default_value_objectwriter_test.cc │ │ │ │ │ ├── error_listener.cc │ │ │ │ │ ├── error_listener.h │ │ │ │ │ ├── expecting_objectwriter.h │ │ │ │ │ ├── field_mask_utility.cc │ │ │ │ │ ├── field_mask_utility.h │ │ │ │ │ ├── json_escaping.cc │ │ │ │ │ ├── json_escaping.h │ │ │ │ │ ├── json_objectwriter.cc │ │ │ │ │ ├── json_objectwriter.h │ │ │ │ │ ├── json_objectwriter_test.cc │ │ │ │ │ ├── json_stream_parser.cc │ │ │ │ │ ├── json_stream_parser.h │ │ │ │ │ ├── json_stream_parser_test.cc │ │ │ │ │ ├── location_tracker.h │ │ │ │ │ ├── mock_error_listener.h │ │ │ │ │ ├── object_location_tracker.h │ │ │ │ │ ├── object_source.h │ │ │ │ │ ├── object_writer.cc │ │ │ │ │ ├── object_writer.h │ │ │ │ │ ├── proto_writer.cc │ │ │ │ │ ├── proto_writer.h │ │ │ │ │ ├── protostream_objectsource.cc │ │ │ │ │ ├── protostream_objectsource.h │ │ │ │ │ ├── protostream_objectsource_test.cc │ │ │ │ │ ├── protostream_objectwriter.cc │ │ │ │ │ ├── protostream_objectwriter.h │ │ │ │ │ ├── protostream_objectwriter_test.cc │ │ │ │ │ ├── structured_objectwriter.h │ │ │ │ │ ├── testdata/ │ │ │ │ │ │ ├── anys.proto │ │ │ │ │ │ ├── books.proto │ │ │ │ │ │ ├── default_value.proto │ │ │ │ │ │ ├── default_value_test.proto │ │ │ │ │ │ ├── field_mask.proto │ │ │ │ │ │ ├── maps.proto │ │ │ │ │ │ ├── oneofs.proto │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ └── timestamp_duration.proto │ │ │ │ │ ├── type_info.cc │ │ │ │ │ ├── type_info.h │ │ │ │ │ ├── type_info_test_helper.cc │ │ │ │ │ ├── type_info_test_helper.h │ │ │ │ │ ├── utility.cc │ │ │ │ │ └── utility.h │ │ │ │ ├── json_format_proto3.proto │ │ │ │ ├── json_util.cc │ │ │ │ ├── json_util.h │ │ │ │ ├── json_util_test.cc │ │ │ │ ├── message_differencer.cc │ │ │ │ ├── message_differencer.h │ │ │ │ ├── message_differencer_unittest.cc │ │ │ │ ├── message_differencer_unittest.proto │ │ │ │ ├── time_util.cc │ │ │ │ ├── time_util.h │ │ │ │ ├── time_util_test.cc │ │ │ │ ├── type_resolver.h │ │ │ │ ├── type_resolver_util.cc │ │ │ │ ├── type_resolver_util.h │ │ │ │ └── type_resolver_util_test.cc │ │ │ ├── well_known_types_unittest.cc │ │ │ ├── wire_format.cc │ │ │ ├── wire_format.h │ │ │ ├── wire_format_lite.cc │ │ │ ├── wire_format_lite.h │ │ │ ├── wire_format_lite_inl.h │ │ │ ├── wire_format_unittest.cc │ │ │ ├── wrappers.pb.cc │ │ │ ├── wrappers.pb.h │ │ │ └── wrappers.proto │ │ ├── test-driver │ │ ├── update_file_lists.sh │ │ └── util/ │ │ └── python/ │ │ └── BUILD │ ├── rapidjson/ │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .gitmodules │ │ ├── .travis.yml │ │ ├── CHANGELOG.md │ │ ├── CMakeLists.txt │ │ ├── CMakeModules/ │ │ │ └── FindGTestSrc.cmake │ │ ├── RapidJSON.pc.in │ │ ├── RapidJSONConfig.cmake.in │ │ ├── RapidJSONConfigVersion.cmake.in │ │ ├── appveyor.yml │ │ ├── bin/ │ │ │ ├── data/ │ │ │ │ ├── glossary.json │ │ │ │ ├── menu.json │ │ │ │ ├── readme.txt │ │ │ │ ├── sample.json │ │ │ │ ├── webapp.json │ │ │ │ └── widget.json │ │ │ ├── encodings/ │ │ │ │ ├── utf16be.json │ │ │ │ ├── utf16bebom.json │ │ │ │ ├── utf16le.json │ │ │ │ ├── utf16lebom.json │ │ │ │ ├── utf32be.json │ │ │ │ ├── utf32bebom.json │ │ │ │ ├── utf32le.json │ │ │ │ ├── utf32lebom.json │ │ │ │ ├── utf8.json │ │ │ │ └── utf8bom.json │ │ │ └── types/ │ │ │ ├── booleans.json │ │ │ ├── floats.json │ │ │ ├── guids.json │ │ │ ├── integers.json │ │ │ ├── mixed.json │ │ │ ├── nulls.json │ │ │ ├── paragraphs.json │ │ │ └── readme.txt │ │ ├── doc/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Doxyfile.in │ │ │ ├── Doxyfile.zh-cn.in │ │ │ ├── diagram/ │ │ │ │ ├── architecture.dot │ │ │ │ ├── insituparsing.dot │ │ │ │ ├── iterative-parser-states-diagram.dot │ │ │ │ ├── makefile │ │ │ │ ├── move1.dot │ │ │ │ ├── move2.dot │ │ │ │ ├── move3.dot │ │ │ │ ├── normalparsing.dot │ │ │ │ ├── simpledom.dot │ │ │ │ ├── tutorial.dot │ │ │ │ └── utilityclass.dot │ │ │ ├── dom.md │ │ │ ├── dom.zh-cn.md │ │ │ ├── encoding.md │ │ │ ├── encoding.zh-cn.md │ │ │ ├── faq.md │ │ │ ├── faq.zh-cn.md │ │ │ ├── features.md │ │ │ ├── features.zh-cn.md │ │ │ ├── internals.md │ │ │ ├── misc/ │ │ │ │ ├── DoxygenLayout.xml │ │ │ │ ├── doxygenextra.css │ │ │ │ ├── footer.html │ │ │ │ └── header.html │ │ │ ├── npm.md │ │ │ ├── performance.md │ │ │ ├── performance.zh-cn.md │ │ │ ├── pointer.md │ │ │ ├── pointer.zh-cn.md │ │ │ ├── sax.md │ │ │ ├── sax.zh-cn.md │ │ │ ├── schema.md │ │ │ ├── schema.zh-cn.md │ │ │ ├── stream.md │ │ │ ├── stream.zh-cn.md │ │ │ ├── tutorial.md │ │ │ └── tutorial.zh-cn.md │ │ ├── docker/ │ │ │ └── debian/ │ │ │ └── Dockerfile │ │ ├── example/ │ │ │ ├── CMakeLists.txt │ │ │ ├── capitalize/ │ │ │ │ └── capitalize.cpp │ │ │ ├── condense/ │ │ │ │ └── condense.cpp │ │ │ ├── filterkey/ │ │ │ │ └── filterkey.cpp │ │ │ ├── filterkeydom/ │ │ │ │ └── filterkeydom.cpp │ │ │ ├── jsonx/ │ │ │ │ └── jsonx.cpp │ │ │ ├── messagereader/ │ │ │ │ └── messagereader.cpp │ │ │ ├── parsebyparts/ │ │ │ │ └── parsebyparts.cpp │ │ │ ├── pretty/ │ │ │ │ └── pretty.cpp │ │ │ ├── prettyauto/ │ │ │ │ └── prettyauto.cpp │ │ │ ├── schemavalidator/ │ │ │ │ └── schemavalidator.cpp │ │ │ ├── serialize/ │ │ │ │ └── serialize.cpp │ │ │ ├── simpledom/ │ │ │ │ └── simpledom.cpp │ │ │ ├── simplereader/ │ │ │ │ └── simplereader.cpp │ │ │ ├── simplewriter/ │ │ │ │ └── simplewriter.cpp │ │ │ └── tutorial/ │ │ │ └── tutorial.cpp │ │ ├── include/ │ │ │ └── rapidjson/ │ │ │ ├── allocators.h │ │ │ ├── document.h │ │ │ ├── encodedstream.h │ │ │ ├── encodings.h │ │ │ ├── error/ │ │ │ │ ├── en.h │ │ │ │ └── error.h │ │ │ ├── filereadstream.h │ │ │ ├── filewritestream.h │ │ │ ├── fwd.h │ │ │ ├── internal/ │ │ │ │ ├── biginteger.h │ │ │ │ ├── diyfp.h │ │ │ │ ├── dtoa.h │ │ │ │ ├── ieee754.h │ │ │ │ ├── itoa.h │ │ │ │ ├── meta.h │ │ │ │ ├── pow10.h │ │ │ │ ├── regex.h │ │ │ │ ├── stack.h │ │ │ │ ├── strfunc.h │ │ │ │ ├── strtod.h │ │ │ │ └── swap.h │ │ │ ├── istreamwrapper.h │ │ │ ├── memorybuffer.h │ │ │ ├── memorystream.h │ │ │ ├── msinttypes/ │ │ │ │ ├── inttypes.h │ │ │ │ └── stdint.h │ │ │ ├── ostreamwrapper.h │ │ │ ├── pointer.h │ │ │ ├── prettywriter.h │ │ │ ├── rapidjson.h │ │ │ ├── reader.h │ │ │ ├── schema.h │ │ │ ├── stream.h │ │ │ ├── stringbuffer.h │ │ │ └── writer.h │ │ ├── include_dirs.js │ │ ├── library.json │ │ ├── license.txt │ │ ├── license_readme-oracle.txt │ │ ├── package.json │ │ ├── rapidjson.autopkg │ │ ├── readme.md │ │ ├── readme.zh-cn.md │ │ ├── test/ │ │ │ ├── CMakeLists.txt │ │ │ ├── perftest/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── misctest.cpp │ │ │ │ ├── perftest.cpp │ │ │ │ ├── perftest.h │ │ │ │ ├── platformtest.cpp │ │ │ │ ├── rapidjsontest.cpp │ │ │ │ └── schematest.cpp │ │ │ └── unittest/ │ │ │ ├── CMakeLists.txt │ │ │ ├── allocatorstest.cpp │ │ │ ├── bigintegertest.cpp │ │ │ ├── documenttest.cpp │ │ │ ├── dtoatest.cpp │ │ │ ├── encodedstreamtest.cpp │ │ │ ├── encodingstest.cpp │ │ │ ├── filestreamtest.cpp │ │ │ ├── fwdtest.cpp │ │ │ ├── istreamwrappertest.cpp │ │ │ ├── itoatest.cpp │ │ │ ├── jsoncheckertest.cpp │ │ │ ├── namespacetest.cpp │ │ │ ├── ostreamwrappertest.cpp │ │ │ ├── pointertest.cpp │ │ │ ├── prettywritertest.cpp │ │ │ ├── readertest.cpp │ │ │ ├── regextest.cpp │ │ │ ├── schematest.cpp │ │ │ ├── simdtest.cpp │ │ │ ├── strfunctest.cpp │ │ │ ├── stringbuffertest.cpp │ │ │ ├── strtodtest.cpp │ │ │ ├── unittest.cpp │ │ │ ├── unittest.h │ │ │ ├── valuetest.cpp │ │ │ └── writertest.cpp │ │ └── travis-doxygen.sh │ └── yassl/ │ ├── AUTHORS │ ├── CMakeLists.txt │ ├── COPYING │ ├── ChangeLog │ ├── FLOSS-EXCEPTIONS │ ├── INSTALL │ ├── NEWS │ ├── README │ ├── certs/ │ │ ├── ca-cert.pem │ │ ├── ca-key.pem │ │ ├── client-cert.der │ │ ├── client-cert.pem │ │ ├── client-key.der │ │ ├── client-key.pem │ │ ├── client-keyEnc.pem │ │ ├── client-keyEnc3.pem │ │ ├── dsa-cert.pem │ │ ├── dsa1024.der │ │ ├── dsa1024.pem │ │ ├── server-cert.pem │ │ ├── server-key.pem │ │ ├── server-keyEnc.pem │ │ └── taoCert.txt │ ├── examples/ │ │ ├── client/ │ │ │ ├── client.cpp │ │ │ └── client.dsp │ │ ├── echoclient/ │ │ │ ├── echoclient.cpp │ │ │ ├── echoclient.dsp │ │ │ ├── input │ │ │ └── quit │ │ ├── echoserver/ │ │ │ ├── echoserver.cpp │ │ │ └── echoserver.dsp │ │ └── server/ │ │ ├── server.cpp │ │ └── server.dsp │ ├── include/ │ │ ├── buffer.hpp │ │ ├── cert_wrapper.hpp │ │ ├── crypto_wrapper.hpp │ │ ├── factory.hpp │ │ ├── handshake.hpp │ │ ├── lock.hpp │ │ ├── log.hpp │ │ ├── openssl/ │ │ │ ├── crypto.h │ │ │ ├── des.h │ │ │ ├── des_old.h │ │ │ ├── engine.h │ │ │ ├── err.h │ │ │ ├── evp.h │ │ │ ├── generate_prefix_files.pl │ │ │ ├── hmac.h │ │ │ ├── lhash.h │ │ │ ├── md4.h │ │ │ ├── md5.h │ │ │ ├── objects.h │ │ │ ├── opensslv.h │ │ │ ├── pem.h │ │ │ ├── pkcs12.h │ │ │ ├── prefix_crypto.h │ │ │ ├── prefix_ssl.h │ │ │ ├── rand.h │ │ │ ├── rsa.h │ │ │ ├── sha.h │ │ │ ├── ssl.h │ │ │ ├── transport_types.h │ │ │ ├── x509.h │ │ │ └── x509v3.h │ │ ├── socket_wrapper.hpp │ │ ├── timer.hpp │ │ ├── yassl.hpp │ │ ├── yassl_error.hpp │ │ ├── yassl_imp.hpp │ │ ├── yassl_int.hpp │ │ └── yassl_types.hpp │ ├── lib/ │ │ └── dummy │ ├── src/ │ │ ├── buffer.cpp │ │ ├── cert_wrapper.cpp │ │ ├── crypto_wrapper.cpp │ │ ├── dummy.cpp │ │ ├── handshake.cpp │ │ ├── lock.cpp │ │ ├── log.cpp │ │ ├── make.bat │ │ ├── socket_wrapper.cpp │ │ ├── ssl.cpp │ │ ├── template_instnt.cpp │ │ ├── timer.cpp │ │ ├── yassl.cpp │ │ ├── yassl_error.cpp │ │ ├── yassl_imp.cpp │ │ └── yassl_int.cpp │ ├── taocrypt/ │ │ ├── CMakeLists.txt │ │ ├── COPYING │ │ ├── INSTALL │ │ ├── README │ │ ├── benchmark/ │ │ │ ├── benchmark.cpp │ │ │ ├── benchmark.dsp │ │ │ ├── dh1024.der │ │ │ ├── dsa1024.der │ │ │ ├── make.bat │ │ │ └── rsa1024.der │ │ ├── include/ │ │ │ ├── aes.hpp │ │ │ ├── algebra.hpp │ │ │ ├── arc4.hpp │ │ │ ├── asn.hpp │ │ │ ├── block.hpp │ │ │ ├── blowfish.hpp │ │ │ ├── coding.hpp │ │ │ ├── des.hpp │ │ │ ├── dh.hpp │ │ │ ├── dsa.hpp │ │ │ ├── error.hpp │ │ │ ├── file.hpp │ │ │ ├── hash.hpp │ │ │ ├── hc128.hpp │ │ │ ├── hmac.hpp │ │ │ ├── integer.hpp │ │ │ ├── kernelc.hpp │ │ │ ├── md2.hpp │ │ │ ├── md4.hpp │ │ │ ├── md5.hpp │ │ │ ├── misc.hpp │ │ │ ├── modarith.hpp │ │ │ ├── modes.hpp │ │ │ ├── pwdbased.hpp │ │ │ ├── rabbit.hpp │ │ │ ├── random.hpp │ │ │ ├── ripemd.hpp │ │ │ ├── rsa.hpp │ │ │ ├── runtime.hpp │ │ │ ├── sha.hpp │ │ │ ├── twofish.hpp │ │ │ ├── type_traits.hpp │ │ │ └── types.hpp │ │ ├── mySTL/ │ │ │ ├── algorithm.hpp │ │ │ ├── helpers.hpp │ │ │ ├── list.hpp │ │ │ ├── memory.hpp │ │ │ ├── memory_array.hpp │ │ │ ├── pair.hpp │ │ │ ├── stdexcept.hpp │ │ │ └── vector.hpp │ │ ├── src/ │ │ │ ├── aes.cpp │ │ │ ├── aestables.cpp │ │ │ ├── algebra.cpp │ │ │ ├── arc4.cpp │ │ │ ├── asn.cpp │ │ │ ├── bftables.cpp │ │ │ ├── blowfish.cpp │ │ │ ├── coding.cpp │ │ │ ├── des.cpp │ │ │ ├── dh.cpp │ │ │ ├── dsa.cpp │ │ │ ├── file.cpp │ │ │ ├── hash.cpp │ │ │ ├── hc128.cpp │ │ │ ├── integer.cpp │ │ │ ├── make.bat │ │ │ ├── md2.cpp │ │ │ ├── md4.cpp │ │ │ ├── md5.cpp │ │ │ ├── misc.cpp │ │ │ ├── rabbit.cpp │ │ │ ├── random.cpp │ │ │ ├── ripemd.cpp │ │ │ ├── rsa.cpp │ │ │ ├── sha.cpp │ │ │ ├── template_instnt.cpp │ │ │ ├── tftables.cpp │ │ │ └── twofish.cpp │ │ ├── taocrypt.dsp │ │ ├── taocrypt.dsw │ │ ├── test/ │ │ │ ├── make.bat │ │ │ ├── memory.cpp │ │ │ ├── test.cpp │ │ │ └── test.dsp │ │ └── test.dsw │ ├── testsuite/ │ │ ├── cipher-test.sh │ │ ├── input │ │ ├── make.bat │ │ ├── quit │ │ ├── test.hpp │ │ ├── testsuite.cpp │ │ └── testsuite.dsp │ ├── yassl.dsp │ └── yassl.dsw ├── packaging/ │ ├── README_Debian.md │ ├── WiX/ │ │ ├── CMakeLists.txt │ │ ├── CPackWixConfig.cmake │ │ ├── ca/ │ │ │ ├── CMakeLists.txt │ │ │ ├── CustomAction.cpp │ │ │ └── CustomAction.def │ │ ├── create_msi.cmake.in │ │ ├── custom_ui.wxs │ │ ├── extra.wxs.in │ │ ├── mysql_router.wxs.in │ │ ├── mysql_router_extra.wxs.in │ │ ├── mysqlrouter.conf.in │ │ └── versioninfo.rc.in │ ├── build_deb.sh │ ├── build_rpm.sh │ ├── deb-artful/ │ │ ├── changelog │ │ └── control │ ├── deb-bionic/ │ │ ├── changelog │ │ └── control │ ├── deb-common/ │ │ ├── compat │ │ ├── copyright │ │ ├── extra/ │ │ │ ├── apparmor-profile.in │ │ │ └── mysqlrouter.conf.in │ │ ├── mysql-router-dev.install │ │ ├── mysql-router-dev.lintian-overrides │ │ ├── mysql-router.install │ │ ├── mysql-router.lintian-overrides │ │ ├── mysql-router.mysqlrouter.init │ │ ├── mysql-router.postinst │ │ ├── mysql-router.postrm │ │ ├── mysql-router.preinst │ │ ├── mysql-router.prerm │ │ ├── rules │ │ └── source/ │ │ └── format │ ├── deb-jessie/ │ │ ├── changelog │ │ └── control │ ├── deb-stretch/ │ │ ├── changelog │ │ └── control │ ├── deb-trusty/ │ │ ├── changelog │ │ └── control │ ├── deb-vivid/ │ │ ├── changelog │ │ └── control │ ├── deb-wily/ │ │ ├── changelog │ │ └── control │ ├── deb-xenial/ │ │ ├── changelog │ │ └── control │ ├── deb-yakkety/ │ │ ├── changelog │ │ └── control │ ├── deb-zesty/ │ │ ├── changelog │ │ └── control │ └── rpm-oel/ │ ├── CMakeLists.txt │ ├── mysql-router.spec.in │ ├── mysqlrouter.conf.in │ ├── mysqlrouter.init │ ├── mysqlrouter.service │ └── mysqlrouter.tmpfiles.d ├── src/ │ ├── CMakeLists.txt │ ├── harness/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── CPPLINT.cfg │ │ ├── Doxyfile.in │ │ ├── README.txt │ │ ├── data/ │ │ │ └── main.conf │ │ ├── include/ │ │ │ ├── common.h │ │ │ ├── dim.h │ │ │ ├── harness_assert.h │ │ │ ├── hostname_validator.h │ │ │ ├── keyring/ │ │ │ │ ├── keyring.h │ │ │ │ ├── keyring_file.h │ │ │ │ ├── keyring_manager.h │ │ │ │ └── keyring_memory.h │ │ │ ├── mysql/ │ │ │ │ └── harness/ │ │ │ │ ├── arg_handler.h │ │ │ │ ├── compiler_attributes.h │ │ │ │ ├── config_parser.h │ │ │ │ ├── filesystem.h │ │ │ │ ├── loader.h │ │ │ │ ├── loader_config.h │ │ │ │ ├── logging/ │ │ │ │ │ ├── handler.h │ │ │ │ │ ├── logger.h │ │ │ │ │ ├── logging.h │ │ │ │ │ └── registry.h │ │ │ │ ├── networking/ │ │ │ │ │ ├── ip_address.h │ │ │ │ │ ├── ipv4_address.h │ │ │ │ │ ├── ipv6_address.h │ │ │ │ │ └── resolver.h │ │ │ │ └── queue.h │ │ │ ├── mysql_router_thread.h │ │ │ ├── process_launcher.h │ │ │ ├── random_generator.h │ │ │ ├── socket_operations.h │ │ │ ├── tcp_address.h │ │ │ └── unique_ptr.h │ │ ├── internal/ │ │ │ ├── README.md │ │ │ ├── checks/ │ │ │ │ └── build_all.py │ │ │ ├── exclude-from-release.txt │ │ │ └── hooks/ │ │ │ ├── pre-commit │ │ │ ├── pre-receive │ │ │ └── update │ │ ├── plugin.h.in │ │ ├── shared/ │ │ │ ├── CMakeLists.txt │ │ │ ├── include/ │ │ │ │ └── test/ │ │ │ │ └── helpers.h │ │ │ └── src/ │ │ │ └── test_helpers.cc │ │ ├── src/ │ │ │ ├── arg_handler.cc │ │ │ ├── common.cc │ │ │ ├── config_parser.cc │ │ │ ├── designator.cc │ │ │ ├── designator.h │ │ │ ├── dim.cc │ │ │ ├── exception.h │ │ │ ├── filesystem-posix.cc │ │ │ ├── filesystem-windows.cc │ │ │ ├── filesystem.cc │ │ │ ├── hostname_validator.cc │ │ │ ├── keyring/ │ │ │ │ ├── keyring_file.cc │ │ │ │ ├── keyring_manager.cc │ │ │ │ └── keyring_memory.cc │ │ │ ├── loader-posix.cc │ │ │ ├── loader-windows.cc │ │ │ ├── loader.cc │ │ │ ├── loader_config.cc │ │ │ ├── logging/ │ │ │ │ ├── handler.cc │ │ │ │ ├── logger.cc │ │ │ │ ├── logging.cc │ │ │ │ └── registry.cc │ │ │ ├── mysql_router_thread.cc │ │ │ ├── networking/ │ │ │ │ ├── ip_address.cc │ │ │ │ ├── ipv4_address.cc │ │ │ │ ├── ipv6_address.cc │ │ │ │ └── resolver.cc │ │ │ ├── process_launcher.cc │ │ │ ├── random_generator.cc │ │ │ ├── socket_operations.cc │ │ │ ├── tcp_address.cc │ │ │ ├── utilities-posix.cc │ │ │ ├── utilities-windows.cc │ │ │ ├── utilities.cc │ │ │ └── utilities.h │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── data/ │ │ │ ├── logger.cfg │ │ │ ├── logger.d/ │ │ │ │ ├── default.cfg │ │ │ │ ├── magic.cfg │ │ │ │ └── one.cfg │ │ │ ├── magic-alt.cfg │ │ │ ├── tests-bad-1.cfg │ │ │ ├── tests-bad-2.cfg │ │ │ ├── tests-bad-3.cfg │ │ │ ├── tests-good-1.cfg.in │ │ │ ├── tests-good-2.cfg.in │ │ │ └── tests-start-1.cfg.in │ │ ├── include/ │ │ │ ├── lifecycle.h │ │ │ └── magic.h │ │ ├── plugins/ │ │ │ ├── CMakeLists.txt │ │ │ ├── bad_one.cc │ │ │ ├── bad_two.cc │ │ │ ├── example.cc │ │ │ ├── lifecycle.cc │ │ │ ├── lifecycle2.cc │ │ │ ├── lifecycle3.cc │ │ │ └── magic.cc │ │ ├── test_bug22104451.cc │ │ ├── test_common.cc │ │ ├── test_config.cc │ │ ├── test_designator.cc │ │ ├── test_dim_and_unique_ptr.cc │ │ ├── test_filesystem.cc │ │ ├── test_hostname_validator.cc │ │ ├── test_ip_address.cc │ │ ├── test_iterator.cc │ │ ├── test_keyring.cc │ │ ├── test_keyring_manager.cc │ │ ├── test_loader.cc │ │ ├── test_loader_lifecycle.cc │ │ ├── test_logging.cc │ │ ├── test_mysql_router_thread.cc │ │ ├── test_queue.cc │ │ ├── test_random_generator.cc │ │ ├── test_resolver.cc │ │ └── test_utilities.cc │ ├── http/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ ├── http_client.h │ │ │ ├── http_client_export.h │ │ │ ├── http_common.h │ │ │ ├── http_common_export.h │ │ │ ├── http_server_component.h │ │ │ ├── http_server_export.h │ │ │ └── rest_client.h │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── http_client.cc │ │ │ ├── http_common.cc │ │ │ ├── http_request_impl.h │ │ │ ├── http_server_component.cc │ │ │ ├── http_server_plugin.cc │ │ │ ├── http_server_plugin.h │ │ │ ├── http_time.cc │ │ │ ├── posix_re.h │ │ │ ├── rest_cli.cc │ │ │ ├── rest_client.cc │ │ │ └── static_files.cc │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── test_posix_re.cc │ │ └── test_time.cc │ ├── keepalive/ │ │ ├── CMakeLists.txt │ │ ├── src/ │ │ │ └── keepalive.cc │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── data/ │ │ │ └── keepalive.cfg.in │ │ └── test_plugin_keepalive.cc │ ├── metadata_cache/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ └── metadata_cache.h │ │ ├── src/ │ │ │ ├── cache_api.cc │ │ │ ├── cluster_metadata.cc │ │ │ ├── cluster_metadata.h │ │ │ ├── group_replication_metadata.cc │ │ │ ├── group_replication_metadata.h │ │ │ ├── metadata.h │ │ │ ├── metadata_cache.cc │ │ │ ├── metadata_cache.h │ │ │ ├── metadata_cache_plugin.cc │ │ │ ├── metadata_factory.cc │ │ │ ├── metadata_factory.h │ │ │ ├── plugin_config.cc │ │ │ └── plugin_config.h │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── helper/ │ │ │ ├── mock_metadata.cc │ │ │ ├── mock_metadata.h │ │ │ └── mock_metadata_factory.cc │ │ ├── test_cache_plugin.cc │ │ ├── test_failover.cc │ │ ├── test_metadata.cc │ │ ├── test_metadata_cache.cc │ │ └── test_plugin_config.cc │ ├── mock_server/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ ├── mock_server_component.h │ │ │ ├── mock_server_export.h │ │ │ └── mock_server_global_scope.h │ │ └── src/ │ │ ├── CMakeLists.txt │ │ ├── duk_module_shim.c │ │ ├── duk_module_shim.h │ │ ├── duk_node_fs.c │ │ ├── duk_node_fs.h │ │ ├── duktape_statement_reader.cc │ │ ├── duktape_statement_reader.h │ │ ├── json_schema_embedder.cc │ │ ├── json_statement_reader.cc │ │ ├── json_statement_reader.h │ │ ├── main.cc │ │ ├── mock_server_component.cc │ │ ├── mock_server_plugin.cc │ │ ├── mock_server_plugin.h │ │ ├── mysql_protocol_common.h │ │ ├── mysql_protocol_decoder.cc │ │ ├── mysql_protocol_decoder.h │ │ ├── mysql_protocol_encoder.cc │ │ ├── mysql_protocol_encoder.h │ │ ├── mysql_protocol_utils.cc │ │ ├── mysql_protocol_utils.h │ │ ├── mysql_server_mock.cc │ │ ├── mysql_server_mock.h │ │ ├── mysql_server_mock.md │ │ ├── mysql_server_mock_schema.h │ │ ├── mysql_server_mock_schema.js │ │ ├── rest_mock_server.cc │ │ └── statement_reader.h │ ├── mysql_protocol/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ ├── mysql_protocol/ │ │ │ │ ├── base_packet.h │ │ │ │ ├── constants.h │ │ │ │ ├── error_packet.h │ │ │ │ └── handshake_packet.h │ │ │ └── mysql_protocol.h │ │ ├── src/ │ │ │ ├── base_packet.cc │ │ │ ├── error_packet.cc │ │ │ └── handshake_packet.cc │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── test_base_packet.cc │ │ ├── test_constants.cc │ │ ├── test_error_packet.cc │ │ └── test_handshake_packet.cc │ ├── plugin_info/ │ │ ├── CMakeLists.txt │ │ ├── src/ │ │ │ ├── library_file.cc │ │ │ ├── library_file.h │ │ │ ├── main.cc │ │ │ ├── plugin.cc │ │ │ ├── plugin.h │ │ │ ├── plugin_info_app.cc │ │ │ └── plugin_info_app.h │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ └── test_plugin_info_app.cc │ ├── router/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ ├── datatypes.h │ │ │ ├── keyring_info.h │ │ │ ├── log_filter.h │ │ │ ├── my_aes.h │ │ │ ├── my_aes_impl.h │ │ │ ├── mysql_session.h │ │ │ ├── plugin_config.h │ │ │ ├── sha1.h │ │ │ ├── uri.h │ │ │ ├── utils.h │ │ │ ├── utils_sqlstring.h │ │ │ └── windows/ │ │ │ └── password_vault.h │ │ ├── src/ │ │ │ ├── CMakeLists.txt │ │ │ ├── cluster_metadata.cc │ │ │ ├── cluster_metadata.h │ │ │ ├── common/ │ │ │ │ ├── log_filter.cc │ │ │ │ ├── my_aes.cc │ │ │ │ ├── my_aes_openssl.cc │ │ │ │ ├── my_aes_yassl.cc │ │ │ │ ├── my_sha1.cc │ │ │ │ ├── mysql_session.cc │ │ │ │ └── utils_sqlstring.cc │ │ │ ├── config_files.cc │ │ │ ├── config_files.h │ │ │ ├── config_generator.cc │ │ │ ├── config_generator.h │ │ │ ├── keyring_info.cc │ │ │ ├── main.cc │ │ │ ├── plugin_config.cc │ │ │ ├── router_app.cc │ │ │ ├── router_app.h │ │ │ ├── uri.cc │ │ │ ├── utils.cc │ │ │ └── windows/ │ │ │ ├── main-windows.cc │ │ │ ├── main-windows.h │ │ │ ├── nt_servc.cc │ │ │ ├── nt_servc.h │ │ │ └── password_vault.cc │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── config_a.conf │ │ ├── config_b.conf │ │ ├── config_c.ini │ │ ├── issues/ │ │ │ ├── test_bug22074209.cc │ │ │ ├── test_bug22084430.cc │ │ │ ├── test_bug22572346.cc │ │ │ └── test_bug24909259.cc │ │ ├── mysqlrouter.conf.in │ │ ├── mysqlrouter_app.cc │ │ ├── mysqlrouter_consolelogger.conf.in │ │ ├── mysqlrouter_extra.conf.in │ │ ├── mysqlrouter_nologger.conf.in │ │ ├── mysqlrouter_utils.cc │ │ ├── parse_error.conf │ │ ├── router_arghandler.cc │ │ ├── test_cluster_metadata.cc │ │ ├── test_config_files.cc │ │ ├── test_config_generator.cc │ │ ├── test_configuration_errors.cc │ │ ├── test_console_output.cc │ │ ├── test_datatypes.cc │ │ ├── test_log_filter.cc │ │ ├── test_metadata_check.cc │ │ ├── test_mysql_session.cc │ │ ├── test_plugins_config.cc │ │ ├── test_uri.cc │ │ └── test_utils.cc │ ├── routing/ │ │ ├── CMakeLists.txt │ │ ├── include/ │ │ │ └── mysqlrouter/ │ │ │ └── routing.h │ │ ├── src/ │ │ │ ├── connection.cc │ │ │ ├── connection.h │ │ │ ├── connection_container.cc │ │ │ ├── connection_container.h │ │ │ ├── context.cc │ │ │ ├── context.h │ │ │ ├── dest_first_available.cc │ │ │ ├── dest_first_available.h │ │ │ ├── dest_metadata_cache.cc │ │ │ ├── dest_metadata_cache.h │ │ │ ├── dest_next_available.cc │ │ │ ├── dest_next_available.h │ │ │ ├── dest_round_robin.cc │ │ │ ├── dest_round_robin.h │ │ │ ├── destination.cc │ │ │ ├── destination.h │ │ │ ├── mysql_routing.cc │ │ │ ├── mysql_routing.h │ │ │ ├── mysql_routing_common.cc │ │ │ ├── mysql_routing_common.h │ │ │ ├── plugin_config.cc │ │ │ ├── plugin_config.h │ │ │ ├── protocol/ │ │ │ │ ├── base_protocol.h │ │ │ │ ├── classic_protocol.cc │ │ │ │ ├── classic_protocol.h │ │ │ │ ├── protocol.h │ │ │ │ ├── x_protocol.cc │ │ │ │ └── x_protocol.h │ │ │ ├── routing.cc │ │ │ ├── routing_plugin.cc │ │ │ ├── utils.cc │ │ │ └── utils.h │ │ └── tests/ │ │ ├── CMakeLists.txt │ │ ├── data/ │ │ │ └── 1route.conf.in │ │ ├── issues/ │ │ │ ├── test_bug21873666.cc │ │ │ ├── test_bug21962350.cc │ │ │ ├── test_bug22062859.cc │ │ │ └── test_bug22579989.cc │ │ ├── plugin/ │ │ │ └── test_plugin.cc │ │ ├── routing_mocks.h │ │ ├── test_block_clients.cc │ │ ├── test_classic_protocol.cc │ │ ├── test_config.cc │ │ ├── test_connection.cc │ │ ├── test_connection_container.cc │ │ ├── test_first_available.cc │ │ ├── test_metadata_cache_group.cc │ │ ├── test_next_available.cc │ │ ├── test_round_robin.cc │ │ ├── test_routing.cc │ │ ├── test_setup_named_socket_service.cc │ │ ├── test_setup_tcp_service.cc │ │ └── test_x_protocol.cc │ ├── syslog/ │ │ ├── CMakeLists.txt │ │ └── src/ │ │ └── syslog.cc │ └── x_protocol/ │ ├── CMakeLists.txt │ ├── include/ │ │ └── mysqlrouter/ │ │ └── xprotocol.h │ └── proto/ │ ├── mysqlx.proto │ ├── mysqlx_connection.proto │ ├── mysqlx_crud.proto │ ├── mysqlx_datatypes.proto │ ├── mysqlx_expect.proto │ ├── mysqlx_expr.proto │ ├── mysqlx_notice.proto │ ├── mysqlx_resultset.proto │ ├── mysqlx_session.proto │ └── mysqlx_sql.proto └── tests/ ├── CMakeLists.txt ├── component/ │ ├── CMakeLists.txt │ ├── data/ │ │ ├── bootstrap.js │ │ ├── bootstrap_access_error_at_grant.js │ │ ├── bootstrap_account_host_multiple_patterns.js │ │ ├── bootstrap_account_host_pattern_too_long.js │ │ ├── bootstrap_big_data.js │ │ ├── bootstrap_exec_time_2_seconds.js │ │ ├── bootstrap_failover_at_crash.js │ │ ├── bootstrap_failover_at_grant.js │ │ ├── bootstrap_failover_reconfigure_ok.js │ │ ├── bootstrap_failover_reconfigure_ok_3_old_users.js │ │ ├── bootstrap_failover_super_read_only_1.js │ │ ├── bootstrap_failover_super_read_only_2.js │ │ ├── bootstrap_failover_super_read_only_dead_2nd_1.js │ │ ├── bootstrap_failover_super_read_only_delete_user.js │ │ ├── bootstrap_report_host.js │ │ ├── bootstrap_unsupported_schema_version.js │ │ ├── js_test_empty_file.js │ │ ├── js_test_nesting.js │ │ ├── js_test_parse_error.js │ │ ├── js_test_require.js │ │ ├── js_test_stmts_is_array.js │ │ ├── js_test_stmts_is_coroutine.js │ │ ├── js_test_stmts_is_empty.js │ │ ├── js_test_stmts_is_function.js │ │ ├── js_test_stmts_is_string.js │ │ ├── js_test_stmts_result_has_infinity.js │ │ ├── js_test_stmts_result_has_negative_int.js │ │ ├── js_test_stmts_result_has_repeat.js │ │ ├── local_modules/ │ │ │ ├── common_statements.js │ │ │ ├── gr_memberships.js │ │ │ └── itertools.js │ │ ├── metadata_1_node.js │ │ ├── metadata_1_node_repeat.js │ │ ├── metadata_3_nodes_first_not_accessible.js │ │ ├── metadata_3_secondaries.js │ │ ├── metadata_3_secondaries_failed_to_update.js │ │ ├── metadata_3_secondaries_pass.js │ │ ├── metadata_3_secondaries_primary_failover.js │ │ ├── metadata_3_secondaries_server_removed_from_cluster.js │ │ ├── metadata_4_secondaries_partitioning.js │ │ ├── my_port.js │ │ ├── rest_server_mock.js │ │ ├── simple-client.js │ │ └── test_modules/ │ │ ├── test-require-dir-with-indexjs/ │ │ │ └── index.js │ │ ├── test-require-dir-with-packagejson/ │ │ │ ├── foo.js │ │ │ └── package.json │ │ ├── test-require-direct.js │ │ ├── test-require-nesting-1.js │ │ ├── test-require-nesting-2.js │ │ ├── test-require-nesting-3.js │ │ ├── test-require-nesting-4.js │ │ └── test-require-nesting-5.js │ ├── test_bootstrap.cc │ ├── test_bootstrap_system_deployment.cc │ ├── test_component_test_framework.cc │ ├── test_config.cc │ ├── test_logging.cc │ ├── test_master_key_reader_writer.cc │ ├── test_metadata_ttl.cc │ ├── test_mock_server.cc │ ├── test_rest_mock_server.cc │ ├── test_routing.cc │ ├── test_routing_connection.cc │ ├── test_routing_strategy.cc │ └── test_user_option.cc ├── coverage.ignore ├── fuzzers/ │ ├── CMakeLists.txt │ ├── README.txt │ ├── corpus/ │ │ ├── fuzz_router_uri/ │ │ │ ├── uri-1 │ │ │ ├── uri-2 │ │ │ └── uri-3 │ │ └── fuzz_router_uri_tostring/ │ │ └── uri-ipv6-zoneid │ ├── fuzz_router_uri.cc │ └── fuzz_router_uri_tostring.cc ├── gcoverage.sh ├── helpers/ │ ├── cmd_exec-windows.cc │ ├── cmd_exec-windows.h │ ├── cmd_exec.cc │ ├── cmd_exec.h │ ├── gtest_consoleoutput.h │ ├── master_key_test_writer.cc │ ├── mysql_session_replayer.cc │ ├── mysql_session_replayer.h │ ├── router_component_test.cc │ ├── router_component_test.h │ ├── router_test_helpers.cc │ ├── router_test_helpers.h │ ├── script_generator.cc │ ├── script_generator.h │ ├── tcp_port_pool.cc │ └── tcp_port_pool.h ├── legal/ │ ├── test_legal.cc │ └── test_project_name.cc └── tools/ └── gtest_cxx.cc