)]}'
{
  "log": [
    {
      "commit": "0db7c28f0b98b23eb3e918cd8586af6752afb931",
      "tree": "689bae42c8177a4f076f4bdb80a78dbd4bf9793a",
      "parents": [
        "9e8c00a5685043ceacc178c52629ae64072d5c01",
        "ca59e2f10fc153c81cc7b3c6f2e7569a2a010a02"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Wed Feb 26 06:23:39 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 26 06:23:39 2025 -0800"
      },
      "message": "Merge \"[owners] Remove levp@google.com from OWNERS\" into main"
    },
    {
      "commit": "9e8c00a5685043ceacc178c52629ae64072d5c01",
      "tree": "95a751a693ecb021b0e8be02077fbffaf6f423a6",
      "parents": [
        "e80b90a683e8000fe2ce275fa16cd97047c31078",
        "32846fe8b973fba44ce78bfcd5494af11d961bbd"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Tue Feb 25 14:47:41 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 25 14:47:41 2025 -0800"
      },
      "message": "Merge \"[owners] Remove mikie@google.com from OWNERS\" into main"
    },
    {
      "commit": "ca59e2f10fc153c81cc7b3c6f2e7569a2a010a02",
      "tree": "1510d72ac02e92af88f15a54d6e4d0f1447642bf",
      "parents": [
        "e80b90a683e8000fe2ce275fa16cd97047c31078"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Mon Feb 24 15:56:23 2025 -0800"
      },
      "committer": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Mon Feb 24 15:56:27 2025 -0800"
      },
      "message": "[owners] Remove levp@google.com from OWNERS\n\nThis suggested change is automatically generated based on group\nmemberships and affiliations.\n\nPlease approve this change and vote the highest CR. This will keep the OWNERs\nfile tidy.  We ask that you do not ignore this change and approve it\nunless you know a reason the OWNER should remain.  It can always be\nreverted if needed.\n\nIf this change is in error, vote the lowest CR value (i.e. reject the CL)\nand the bot will abandon it.\n\nSee the owner\u0027s recent review activity for context:\nhttps://android-review.googlesource.com/q/levp@google.com\n\nTo report an issue, file a bug in the Infra\u003eCodereview component.\n\nChange-Id: I0ac1ae5b4aa3d6c5595027b0010b88eac49d5d08\n"
    },
    {
      "commit": "e80b90a683e8000fe2ce275fa16cd97047c31078",
      "tree": "3d53764f65faec8a1a47bed6824c802c5660eb59",
      "parents": [
        "32c2cedf3b7d3ce1862feef497d646639a26ffe6",
        "2ea22883d9e5711b6b2f3237395c53202d6d6d7e"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Mon Feb 24 06:26:46 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 24 06:26:46 2025 -0800"
      },
      "message": "Merge \"[owners] Remove slavash@google.com from OWNERS\" into main"
    },
    {
      "commit": "2ea22883d9e5711b6b2f3237395c53202d6d6d7e",
      "tree": "3d53764f65faec8a1a47bed6824c802c5660eb59",
      "parents": [
        "32c2cedf3b7d3ce1862feef497d646639a26ffe6"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Sun Feb 23 08:53:35 2025 -0800"
      },
      "committer": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Sun Feb 23 08:53:39 2025 -0800"
      },
      "message": "[owners] Remove slavash@google.com from OWNERS\n\nThis suggested change is automatically generated based on group\nmemberships and affiliations.\n\nPlease approve this change and vote the highest CR. This will keep the OWNERs\nfile tidy.  We ask that you do not ignore this change and approve it\nunless you know a reason the OWNER should remain.  It can always be\nreverted if needed.\n\nIf this change is in error, vote the lowest CR value (i.e. reject the CL)\nand the bot will abandon it.\n\nSee the owner\u0027s recent review activity for context:\nhttps://android-review.googlesource.com/q/slavash@google.com\n\nTo report an issue, file a bug in the Infra\u003eCodereview component.\n\nChange-Id: Ibf3f8ff5dce1754a4a38ee8cdfee206d02fdce42\n"
    },
    {
      "commit": "32c2cedf3b7d3ce1862feef497d646639a26ffe6",
      "tree": "88c7181bbe95566d3d9b93becb43e79bb8aa4b58",
      "parents": [
        "07cb83c3a2782d1249b9f2b4f69e61f81915d8e5",
        "d7219768bd7df07426b660a5276f5f041db4f480"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Fri Feb 21 11:14:11 2025 -0800"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 21 11:14:11 2025 -0800"
      },
      "message": "Merge \"[owners] Remove jeanluc@google.com from OWNERS\" into main"
    },
    {
      "commit": "32846fe8b973fba44ce78bfcd5494af11d961bbd",
      "tree": "ca2c13456d5ecb6190c7d781861a28d4d70092a7",
      "parents": [
        "07cb83c3a2782d1249b9f2b4f69e61f81915d8e5"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Thu Feb 20 07:49:50 2025 -0800"
      },
      "committer": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Thu Feb 20 07:49:54 2025 -0800"
      },
      "message": "[owners] Remove mikie@google.com from OWNERS\n\nThis suggested change is automatically generated based on group\nmemberships and affiliations.\n\nPlease approve this change and vote the highest CR. This will keep the OWNERs\nfile tidy.  We ask that you do not ignore this change and approve it\nunless you know a reason the OWNER should remain.  It can always be\nreverted if needed.\n\nIf this change is in error, vote the lowest CR value (i.e. reject the CL)\nand the bot will abandon it.\n\nSee the owner\u0027s recent review activity for context:\nhttps://android-review.googlesource.com/q/mikie@google.com\n\nTo report an issue, file a bug in the Infra\u003eCodereview component.\n\nChange-Id: Iaf00097bd785d38266eb56abba77b01beccd6cde\n"
    },
    {
      "commit": "d7219768bd7df07426b660a5276f5f041db4f480",
      "tree": "88c7181bbe95566d3d9b93becb43e79bb8aa4b58",
      "parents": [
        "07cb83c3a2782d1249b9f2b4f69e61f81915d8e5"
      ],
      "author": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Tue Feb 18 15:16:41 2025 -0800"
      },
      "committer": {
        "name": "Owner Cleanup Bot",
        "email": "swarming-tasks@owners-cleanup-prod.google.com.iam.gserviceaccount.com",
        "time": "Tue Feb 18 15:16:44 2025 -0800"
      },
      "message": "[owners] Remove jeanluc@google.com from OWNERS\n\nThis suggested change is automatically generated based on group\nmemberships and affiliations.\n\nPlease approve this change and vote the highest CR. This will keep the OWNERs\nfile tidy.  We ask that you do not ignore this change and approve it\nunless you know a reason the OWNER should remain.  It can always be\nreverted if needed.\n\nIf this change is in error, vote the lowest CR value (i.e. reject the CL)\nand the bot will abandon it.\n\nSee the owner\u0027s recent review activity for context:\nhttps://android-review.googlesource.com/q/jeanluc@google.com\n\nTo report an issue, file a bug in the Infra\u003eCodereview component.\n\nChange-Id: I6acf1f5eed89fe35c5c2ed1a0b62976a5813cb89\n"
    },
    {
      "commit": "07cb83c3a2782d1249b9f2b4f69e61f81915d8e5",
      "tree": "de9764fa9d173910c23d0d335530c706a970bcb9",
      "parents": [
        "5b525d4d9100819d87447bd2c2a0bcfdd62899ee",
        "279385edf43fc5144a600b4484ab2f39d60edf94"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Nov 24 19:32:27 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 24 19:32:27 2020 +0000"
      },
      "message": "Merge \"Add missing inequality operators to NNAPI Canonical Types\""
    },
    {
      "commit": "279385edf43fc5144a600b4484ab2f39d60edf94",
      "tree": "09f93eb6dd5a551877b32132dcc983e6f22bc8c2",
      "parents": [
        "cde392513f574cf233a3e7cd982fe134a5a0c65a"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Nov 19 20:24:53 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Nov 24 10:42:14 2020 -0800"
      },
      "message": "Add missing inequality operators to NNAPI Canonical Types\n\nBug: N/A\nTest: mma\nChange-Id: Iacddd0aefdf2f3afd4c34bd97c4fee7159be53df\nMerged-In: Iacddd0aefdf2f3afd4c34bd97c4fee7159be53df\n(cherry picked from commit 836fb169e7648eac293d517625cc0413d6a035d3)\n"
    },
    {
      "commit": "5b525d4d9100819d87447bd2c2a0bcfdd62899ee",
      "tree": "f611eae52233056e9865be35135f7eecf3684e6a",
      "parents": [
        "cde392513f574cf233a3e7cd982fe134a5a0c65a",
        "760e70c00f42180a011bd2f9a939b80a43cf74ac"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 24 09:20:53 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 24 09:20:53 2020 +0000"
      },
      "message": "Merge \"Adjust visibility for nnapi module.\""
    },
    {
      "commit": "760e70c00f42180a011bd2f9a939b80a43cf74ac",
      "tree": "f611eae52233056e9865be35135f7eecf3684e6a",
      "parents": [
        "cde392513f574cf233a3e7cd982fe134a5a0c65a"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 24 05:55:24 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Tue Nov 24 05:55:24 2020 +0000"
      },
      "message": "Adjust visibility for nnapi module.\n\nThis work is in preparation for migration to\npackages/modules/NeuralNetworks.\n\nBUG: 167961889\nTest: TH\nChange-Id: I54fe338a5aedf476d2ce320dd419457d85de74ef\n"
    },
    {
      "commit": "cde392513f574cf233a3e7cd982fe134a5a0c65a",
      "tree": "c8b42cac850abcb0413d8f1b858d9ed7eb746651",
      "parents": [
        "bfc14da7c9834064b0d1cf6c2e8652304f173be4",
        "5b7cbae0934e3db6701b47ef6e672b2e4a20a08b"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Nov 24 05:12:01 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 24 05:12:01 2020 +0000"
      },
      "message": "Merge \"Replace direct cgroup access with task profiles\""
    },
    {
      "commit": "5b7cbae0934e3db6701b47ef6e672b2e4a20a08b",
      "tree": "c8b42cac850abcb0413d8f1b858d9ed7eb746651",
      "parents": [
        "bfc14da7c9834064b0d1cf6c2e8652304f173be4"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Oct 13 16:11:05 2020 -0700"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Mon Nov 23 17:09:41 2020 +0000"
      },
      "message": "Replace direct cgroup access with task profiles\n\nCgroups should not be accessed directly. Replace direct access with\ntask profile usage to perform the operation via cgroup anstraction layer.\n\nBug: 170507876\nTest: build pass\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\nChange-Id: I71e849cf7d1f0dfd46da1d9306310ce2c6ecf1ca\n"
    },
    {
      "commit": "bfc14da7c9834064b0d1cf6c2e8652304f173be4",
      "tree": "f28e8993cfa23f028ea1432e9fcf261859e7e577",
      "parents": [
        "4d7321d59ec45e7e8e3f216fe3a88d803b990258",
        "00ff9c6e9cdbb71aff6e326e25f0be00a1c15548"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 23 11:52:21 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 23 11:52:21 2020 +0000"
      },
      "message": "Merge \"Log conversion errors in legacy code\""
    },
    {
      "commit": "4d7321d59ec45e7e8e3f216fe3a88d803b990258",
      "tree": "393400e347cac5b974dddc0b93060aef51e2317e",
      "parents": [
        "ed588c87fc323e9bb89ae00cbdd39ff206da852c",
        "083da328b8899ce08f63fc564db444669f62b324"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 20 16:13:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 20 16:13:34 2020 +0000"
      },
      "message": "Merge changes from topic \"nn-shared-handle\"\n\n* changes:\n  Replace native_handle with unique_fd\n  Split Utils into LegacyUtils and LegacyHalUtils\n  Copy Utils to LegacyUtils and LegacyHalUtils\n  Use sensible Capabilities in test drivers\n"
    },
    {
      "commit": "00ff9c6e9cdbb71aff6e326e25f0be00a1c15548",
      "tree": "f28e8993cfa23f028ea1432e9fcf261859e7e577",
      "parents": [
        "083da328b8899ce08f63fc564db444669f62b324"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 06 15:52:00 2020 +0000"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 20 13:57:20 2020 +0000"
      },
      "message": "Log conversion errors in legacy code\n\nBug: N/A\nTest: NNT_static\nChange-Id: Ic9a3b162c63290c2a8f2228decdb3fb97f36095a\nMerged-In: Ic9a3b162c63290c2a8f2228decdb3fb97f36095a\n(cherry picked from commit 16d0e25d92189e8110190960b7194a97859219e8)\n"
    },
    {
      "commit": "083da328b8899ce08f63fc564db444669f62b324",
      "tree": "393400e347cac5b974dddc0b93060aef51e2317e",
      "parents": [
        "72737fc910d8a0f3f96d08bc2eb861551cb84e41"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 02 20:00:18 2020 +0000"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 20 13:56:52 2020 +0000"
      },
      "message": "Replace native_handle with unique_fd\n\nThis change replaces native_handle_t from libutils with a custom type\nthat wraps std::vector\u003cbase::unique_fd\u003e and std::vector\u003cint\u003e.\n\nBug: 160669116\nTest: NNT_static\nChange-Id: If4d767b35c2d48cabcb6a9a3436079f6f7d39a13\nMerged-In: If4d767b35c2d48cabcb6a9a3436079f6f7d39a13\n(cherry picked from commit b3c5d46cd1a7e8c7f4c624d2c24bf721f4d0edb2)\n"
    },
    {
      "commit": "72737fc910d8a0f3f96d08bc2eb861551cb84e41",
      "tree": "b5c7f6a5268f73afc25363dd53d378cd65dabbe9",
      "parents": [
        "c2674a481270e6b35bddb8c2cf979a72acc70f0b"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 16 12:24:07 2020 +0000"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 20 13:56:17 2020 +0000"
      },
      "message": "Split Utils into LegacyUtils and LegacyHalUtils\n\nTo simplify the review process and preserve the git history,\nchange I2b54bc13 copies Utils to LegacyUtils and LegacyHalUtils and this\nchange removes redundant code.\n\nBug: 170289677\nTest: NNT_static\nTest: NNT_utils\nChange-Id: I7ffc5824a382e121b86e7c8ad0de384c9c1a6d4c\nMerged-In: I7ffc5824a382e121b86e7c8ad0de384c9c1a6d4c\n(cherry picked from commit 93a2a1ec8100d4fe7d91373587869a9753cdb6bc)\n"
    },
    {
      "commit": "c2674a481270e6b35bddb8c2cf979a72acc70f0b",
      "tree": "e2ea57533d67ea492d69d9d380a16fa7683af4d4",
      "parents": [
        "d721f0edd0971c00c5b8c083fbc08e018b73832b"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 13 14:12:24 2020 +0000"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 20 13:55:45 2020 +0000"
      },
      "message": "Copy Utils to LegacyUtils and LegacyHalUtils\n\nThis change was generated with the following commands:\n\n    cp common/include/Utils.h common/include/LegacyHalUtils.h\n    mv common/include/Utils.h common/include/LegacyUtils.h\n    cp common/Utils.cpp common/LegacyHalUtils.cpp\n    mv common/Utils.cpp common/LegacyUtils.cp\n    sed -i \u0027s/\"Utils.cpp\"/\"LegacyUtils.cp\"/\u0027 common/Android.bp\n    bpfmt -w -s common/Android.bp\n\nThis is a separate change in order to help git preserve the history.\n\nSee change I7ffc5824.\n\nBug: 170289677\nTest: N/A\nChange-Id: I2b54bc131ff4a2f05b3a1e0f180a7a4bbd7bf614\nMerged-In: I2b54bc131ff4a2f05b3a1e0f180a7a4bbd7bf614\n(cherry picked from commit 1e9f4d242c1159fa3a33020f0abfbfa95ca4be04)\n"
    },
    {
      "commit": "d721f0edd0971c00c5b8c083fbc08e018b73832b",
      "tree": "061c1b180239e9ab473f433c9730e9117acdbac4",
      "parents": [
        "ed588c87fc323e9bb89ae00cbdd39ff206da852c"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Wed Nov 11 14:02:25 2020 +0000"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Fri Nov 20 13:55:40 2020 +0000"
      },
      "message": "Use sensible Capabilities in test drivers\n\nAlthough zero PerformanceInfo::execTime or powerUsage is not explicitly\nprohibited by the spec, it makes little sense and the new HAL device\nwrappers (change Iec6ae739) do not accept zero PerformanceInfo.\n\nBug: 170289677\nTest: NNT_static\nChange-Id: I6cc0af5f30ad980e4866badacd9ae8d2c9f87022\nMerged-In: I6cc0af5f30ad980e4866badacd9ae8d2c9f87022\n(cherry picked from commit e72232d73cd95c8a0383430d5b491744367b2303)\n"
    },
    {
      "commit": "ed588c87fc323e9bb89ae00cbdd39ff206da852c",
      "tree": "0559bdf4c827686a568f8aae73d3b9156541d368",
      "parents": [
        "75ec7d8cc4e55c77e32090215c28f9ecc0d41057",
        "eca4b0fbbcd056afd7dbc62ba6db669b9ad2700d"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Nov 17 20:30:59 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 20:30:59 2020 +0000"
      },
      "message": "Merge \"Disable NNAPI host build\""
    },
    {
      "commit": "eca4b0fbbcd056afd7dbc62ba6db669b9ad2700d",
      "tree": "0559bdf4c827686a568f8aae73d3b9156541d368",
      "parents": [
        "75ec7d8cc4e55c77e32090215c28f9ecc0d41057"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Fri Nov 06 18:35:35 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Nov 16 20:54:32 2020 -0800"
      },
      "message": "Disable NNAPI host build\n\nA host build was enabled for canonical types and tests to ensure that\nthe canonical types were not introducing new dependencies. Because we\nare not focusing on developing a host build for the short term, this CL\ndisables it, but it\u0027s being tracked in b/146324523.\n\nBug: N/A\nTest: mma\nChange-Id: Ib96349d17b202b163c4e377515b9c3117cc39b1d\nMerged-In: Ib96349d17b202b163c4e377515b9c3117cc39b1d\n(cherry picked from commit 7e468dabece62457b38e6c5cffb03f652d5ce3c0)\n"
    },
    {
      "commit": "75ec7d8cc4e55c77e32090215c28f9ecc0d41057",
      "tree": "0b533b9ac4b356a60d063767ee70b50a98f08af9",
      "parents": [
        "638a57c1b06b4369487c6d36ae6c7bbc245ec14d",
        "c9f7baa4652bafc75abac0f3ed2b388650cb2e32"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Nov 17 01:44:38 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 17 01:44:38 2020 +0000"
      },
      "message": "Merge \"Introduce NNAPI Canonical Interface types\""
    },
    {
      "commit": "c9f7baa4652bafc75abac0f3ed2b388650cb2e32",
      "tree": "0b533b9ac4b356a60d063767ee70b50a98f08af9",
      "parents": [
        "638a57c1b06b4369487c6d36ae6c7bbc245ec14d"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Aug 06 18:24:19 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Nov 16 14:29:22 2020 -0800"
      },
      "message": "Introduce NNAPI Canonical Interface types\n\nThis CL introduces the canonical interface types: IDevice,\nIPreparedModel, and IBuffer.\n\nThis CL also introduces three new types:\n* SyncFence: wraps a NativeHandle to represent a sync_fence\n* GeneralResult: a Result object where the error is extended with an\n  ErrorStatus\n* ExecutionResult: a Result object where the error is extended with an\n  ErrorStatus and a vector of OutputShapes\n\nBug: 160668438\nTest: mma\nTest: NeuralNetworksTest_static\nChange-Id: I99a6ccd88d0fa2f14296eb0019555b2aa46ab488\nMerged-In: I99a6ccd88d0fa2f14296eb0019555b2aa46ab488\n(cherry picked from commit 3fa5419e7a90fe98112c479e84952a4214496187)\n"
    },
    {
      "commit": "638a57c1b06b4369487c6d36ae6c7bbc245ec14d",
      "tree": "03222db8d106f161bed47c1e3f156dd28eb4ed4c",
      "parents": [
        "d721244c09f05f03bbde16a622425e0d27fa6c36",
        "8250ec9e013fa53237f385deb9e6fdc127f79c93"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Fri Nov 13 01:46:02 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 13 01:46:02 2020 +0000"
      },
      "message": "Merge \"Remove HAL types from NNAPI fuzz test harness\""
    },
    {
      "commit": "8250ec9e013fa53237f385deb9e6fdc127f79c93",
      "tree": "4960a463532cf3562bcde9be58472459b54c0029",
      "parents": [
        "f1c452cda6533807bcab2337cb13d5184405505c"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Sun Nov 01 23:04:51 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Nov 12 22:31:18 2020 +0000"
      },
      "message": "Remove HAL types from NNAPI fuzz test harness\n\nSwitches the implementation from using 1.3 HAL types to using canonical\ntypes.\n\nBug: N/A\nTest: mma\nTest: libneuralnetworks_fuzzer\nChange-Id: Ia9b76f324ddb5559cb2834fc13b3a09a62d3d0bd\n"
    },
    {
      "commit": "d721244c09f05f03bbde16a622425e0d27fa6c36",
      "tree": "ae9a47f38903cb2121eeac6b7a68150b850aade2",
      "parents": [
        "979afbaee92a97d0ec9f0d13436ef7670a7e9538",
        "361c377ee344ad0bd5603ea825ebc01aba8ab855"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Nov 12 19:24:50 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 12 19:24:50 2020 +0000"
      },
      "message": "Merge \"nnapi: Set min_sdk_version to \"30\"\""
    },
    {
      "commit": "361c377ee344ad0bd5603ea825ebc01aba8ab855",
      "tree": "ae9a47f38903cb2121eeac6b7a68150b850aade2",
      "parents": [
        "979afbaee92a97d0ec9f0d13436ef7670a7e9538"
      ],
      "author": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Nov 12 03:39:54 2020 +0000"
      },
      "committer": {
        "name": "Nikita Ioffe",
        "email": "ioffe@google.com",
        "time": "Thu Nov 12 03:39:54 2020 +0000"
      },
      "message": "nnapi: Set min_sdk_version to \"30\"\n\nJust a cosmetic cleanup since \"R\" resolves to 30 as well.\n\nTest: m\nBug: 171330443\nChange-Id: Icbf97ddf20fda7df0d8050bfb9f036b4c5510a12\n"
    },
    {
      "commit": "979afbaee92a97d0ec9f0d13436ef7670a7e9538",
      "tree": "e96b673d1baeb8853e54e1812cfb57a0036a4231",
      "parents": [
        "f1c452cda6533807bcab2337cb13d5184405505c",
        "ca7a45a1234977c93fdfb578b64114d13ee27b7f"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Nov 10 23:06:13 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 10 23:06:13 2020 +0000"
      },
      "message": "Merge changes I47c12e13,Iae0d6ef3\n\n* changes:\n  Make operation validation return Result\u003cVersion\u003e\n  Reorganize operation validation version code\n"
    },
    {
      "commit": "ca7a45a1234977c93fdfb578b64114d13ee27b7f",
      "tree": "e96b673d1baeb8853e54e1812cfb57a0036a4231",
      "parents": [
        "d6f4f1ed9fea50529006a0aa3436e4bce4decd05"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Nov 02 23:17:11 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Fri Nov 06 18:15:52 2020 -0800"
      },
      "message": "Make operation validation return Result\u003cVersion\u003e\n\nBug: N/A\nTest: mma\nTest: NeuralNetworksTest_static\nChange-Id: I47c12e13fcb41f832e31043b3f14e7b93472b0f8\nMerged-In: I47c12e13fcb41f832e31043b3f14e7b93472b0f8\n(cherry picked from commit 72146e08363add234a71d19accd96325cb77ce7c)\n"
    },
    {
      "commit": "d6f4f1ed9fea50529006a0aa3436e4bce4decd05",
      "tree": "8bb1d3ea47aab1a33e489ec220311770f3449b0c",
      "parents": [
        "f1c452cda6533807bcab2337cb13d5184405505c"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Nov 02 23:09:34 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Fri Nov 06 18:11:02 2020 -0800"
      },
      "message": "Reorganize operation validation version code\n\nBug: N/A\nTest: mma\nTest: NeuralNetworksTest_static\nChange-Id: Iae0d6ef34551b1c3ad5ad670ff54733d38c288af\nMerged-In: Iae0d6ef34551b1c3ad5ad670ff54733d38c288af\n(cherry picked from commit 109f573c3d0feef5ebe8f86a0d10240dcb43254d)\n"
    },
    {
      "commit": "f1c452cda6533807bcab2337cb13d5184405505c",
      "tree": "91b95563fd10da4d7ba03fcda42fc6b111f90388",
      "parents": [
        "67d7e29ad3430e716a530799b3fb23ead678601e",
        "7c7b88261d643654ec5dc5b5567bbb60867e6b89"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Nov 05 22:43:28 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 05 22:43:28 2020 +0000"
      },
      "message": "Merge \"Update operation validation from HalVersion to Version\""
    },
    {
      "commit": "7c7b88261d643654ec5dc5b5567bbb60867e6b89",
      "tree": "91b95563fd10da4d7ba03fcda42fc6b111f90388",
      "parents": [
        "67d7e29ad3430e716a530799b3fb23ead678601e"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Sun Nov 01 23:47:40 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Nov 05 09:39:27 2020 -0800"
      },
      "message": "Update operation validation from HalVersion to Version\n\nBug: N/A\nTest: mma\nTest: NeuralNetworksTest_static\nChange-Id: Ia1a10d9ee272a9c2c84a8f284df064c309e42a77\nMerged-In: Ia1a10d9ee272a9c2c84a8f284df064c309e42a77\n(cherry picked from commit 1ff99066e4f0fa451c03f6236f5de987c6ae064b)\n"
    },
    {
      "commit": "67d7e29ad3430e716a530799b3fb23ead678601e",
      "tree": "7453b5e0852551022c3ba140674e60661facb938",
      "parents": [
        "9d8007c5342dcdd324af06af8ca18f6ea2974af1",
        "2bd2cae2be76017277a7aae6b5fe4bc7fc1ff67c"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Nov 05 17:11:22 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 05 17:11:22 2020 +0000"
      },
      "message": "Merge \"Update NNAPI canonical validation\""
    },
    {
      "commit": "2bd2cae2be76017277a7aae6b5fe4bc7fc1ff67c",
      "tree": "7453b5e0852551022c3ba140674e60661facb938",
      "parents": [
        "9d8007c5342dcdd324af06af8ca18f6ea2974af1"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 27 21:06:37 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Wed Nov 04 04:11:33 2020 +0000"
      },
      "message": "Update NNAPI canonical validation\n\nPreviously, there was a gap in our validation code when it came to\nvalidating operations because it relied on code that was not compatible\nwith the canonical types at the time. Now that the code is compatible,\nthis CL closes the validation gap.\n\nTo facilitate this, this CL also relocates some utility code\n(HalVersion, NN_RET_CHECK_*) from Utils.h to TypeUtils.h.\n\nBug: 160668435\nTest: mma\nChange-Id: I4b9ed9ad14f79ad84860809f72c0ccbd6399e6f0\nMerged-In: I4b9ed9ad14f79ad84860809f72c0ccbd6399e6f0\n(cherry picked from commit 5f02de4004735a216bf1726af22f3fe4ebb16c01)\n"
    },
    {
      "commit": "9d8007c5342dcdd324af06af8ca18f6ea2974af1",
      "tree": "fcfc08ec92b731594fc96c586e1207bccce2624d",
      "parents": [
        "54da8008995f7fa57f39a49a35f3f75080a4ce69",
        "cbcaa00003cf5a4597460dbb5f8cb9f992e939e7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 03 12:38:38 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 03 12:38:38 2020 +0000"
      },
      "message": "Merge \"Migrate NNAPI runtime to canonical types\""
    },
    {
      "commit": "54da8008995f7fa57f39a49a35f3f75080a4ce69",
      "tree": "e47f78f444067e3c59fdc3439b69ed63d8340fa1",
      "parents": [
        "6d78a1127d2d4ea9135e176a324d5d2d50bcfbb5",
        "e4a030ef549d8d2c279436628c961eb3f70df7d6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 03 12:37:09 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 03 12:37:09 2020 +0000"
      },
      "message": "Merge \"Update getNonExtensionSize() for TENSOR_OEM_BYTE\""
    },
    {
      "commit": "6d78a1127d2d4ea9135e176a324d5d2d50bcfbb5",
      "tree": "eeb72540d7d18f10d6974f177c70c9a952c7f64e",
      "parents": [
        "02ccdd4436f849470458ed42114b2c19daabe55c",
        "895e1665d46eb542b4f57d922a114fa2aa0b7bb1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 02 22:09:34 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 02 22:09:34 2020 +0000"
      },
      "message": "Merge \"Avoid potential use of uninitialized memory\""
    },
    {
      "commit": "cbcaa00003cf5a4597460dbb5f8cb9f992e939e7",
      "tree": "fcfc08ec92b731594fc96c586e1207bccce2624d",
      "parents": [
        "e4a030ef549d8d2c279436628c961eb3f70df7d6"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Thu Aug 13 13:16:03 2020 +0100"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 02 10:07:07 2020 +0000"
      },
      "message": "Migrate NNAPI runtime to canonical types\n\nThis change replaces most uses of HAL types in the codebase with\nequivalent canonical types. Later changes will introduce more\nrefactorings.\n\nAlso removes unused files nn/runtime/test/Bridge.{h,cpp}.\n\nBug: 160669906\nFix: 155923931\nTest: NeuralNetworksTest_static (all 7 passes)\nTest: NeuralNetworksTest_operations\nTest: NeuralNetworksTest_utils\nTest: NeuralNetworksTest_logtag\nTest: nnCache_test\nTest: BlobCache_test\nChange-Id: I63fa286e926a096948f1b1b172d1d562c4f52f29\nMerged-In: I63fa286e926a096948f1b1b172d1d562c4f52f29\n(cherry picked from commit 069993366ce59913ff162ed144749bb8794d990c)\n"
    },
    {
      "commit": "e4a030ef549d8d2c279436628c961eb3f70df7d6",
      "tree": "e47f78f444067e3c59fdc3439b69ed63d8340fa1",
      "parents": [
        "895e1665d46eb542b4f57d922a114fa2aa0b7bb1"
      ],
      "author": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Oct 19 14:00:05 2020 +0100"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 02 10:07:03 2020 +0000"
      },
      "message": "Update getNonExtensionSize() for TENSOR_OEM_BYTE\n\nThis makes getNonExtensionSize() behave the same as the old\nnonExtensionOperandSizeOfData(). See kSizeOfDataTypeOEM.\n\nBug: N/A\nTest: NNT_static --gtest_filter\u003dValidationTestModel.AddOEMOperand with change I63fa286e\nChange-Id: I29496d32ac9abbeca372f36442afce7f4c8a017c\nMerged-In: I29496d32ac9abbeca372f36442afce7f4c8a017c\n(cherry picked from commit 79f4d47c7e34557c1a36c7a6bca16c5db541a58f)\n"
    },
    {
      "commit": "895e1665d46eb542b4f57d922a114fa2aa0b7bb1",
      "tree": "eeb72540d7d18f10d6974f177c70c9a952c7f64e",
      "parents": [
        "02ccdd4436f849470458ed42114b2c19daabe55c"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Aug 05 09:57:50 2020 -0700"
      },
      "committer": {
        "name": "Slava Shklyaev",
        "email": "slavash@google.com",
        "time": "Mon Nov 02 10:06:54 2020 +0000"
      },
      "message": "Avoid potential use of uninitialized memory\n\nWe assure our pointers that are referenced in the destructor have\nvalid values.\n\nTest: TreeHugger\nChange-Id: I03af3815884c89a50ca3298835aa9ea62be40d02\nMerged-In: I03af3815884c89a50ca3298835aa9ea62be40d02\n(cherry picked from commit 62799d699b3191b59165556c5754277ec02b8744)\n"
    },
    {
      "commit": "02ccdd4436f849470458ed42114b2c19daabe55c",
      "tree": "85ed050a363557c212ef6461a33877e09058b451",
      "parents": [
        "99ce2e3a0941baad1262243316f64fa4c072b703",
        "1ad91e8feb102b0897cd19dd0cdaa305f8313acf"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Sat Oct 24 01:40:48 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Oct 24 01:40:48 2020 +0000"
      },
      "message": "Merge \"Cleanup references to system/core/base -\u003e system/libbase\""
    },
    {
      "commit": "99ce2e3a0941baad1262243316f64fa4c072b703",
      "tree": "7ffb09c5ff1ddfe7cc462858d6ad24aafaa57a4d",
      "parents": [
        "a6374e359b6c89776539ba3f6959438f2267ec49",
        "fe8348de393883cdd74b2bb03f753799d80fff65"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Oct 23 18:09:42 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 23 18:09:42 2020 +0000"
      },
      "message": "Merge \"Make the connection between implementation and llndk_library explicit\""
    },
    {
      "commit": "1ad91e8feb102b0897cd19dd0cdaa305f8313acf",
      "tree": "b949bdee8857794d9f2c4c289640e75474491b01",
      "parents": [
        "a6374e359b6c89776539ba3f6959438f2267ec49"
      ],
      "author": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Oct 23 14:20:11 2020 +0000"
      },
      "committer": {
        "name": "Baligh Uddin",
        "email": "baligh@google.com",
        "time": "Fri Oct 23 15:53:30 2020 +0000"
      },
      "message": "Cleanup references to system/core/base -\u003e system/libbase\n\nBUG: 157656545\nTest: TH\nExempt-From-Owner-Approval: Trivial cleanup in comments.\nChange-Id: Ib20132248df9ee543a6d317b5af15c85350f41ee\n"
    },
    {
      "commit": "fe8348de393883cdd74b2bb03f753799d80fff65",
      "tree": "7ffb09c5ff1ddfe7cc462858d6ad24aafaa57a4d",
      "parents": [
        "249e93788723f1132e11e9621412e2910114f46b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 19 13:37:59 2020 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Oct 19 13:37:59 2020 -0700"
      },
      "message": "Make the connection between implementation and llndk_library explicit\n\nInstead of assuming a module with the .llndk suffix exists, add an\nllndk_stubs property to every cc_library module that has a\ncorresponding llndk_library.  Also rename the llndk_library to have\nan explicit .llndk suffix.\n\nBug: 170784825\nTest: no changes to build.ninja (excluding comments) or Android-${TARGET_PRODUCT}.mk\nChange-Id: I2373423d671d0de7b6c9469ff796805d85d7d29c\n"
    },
    {
      "commit": "a6374e359b6c89776539ba3f6959438f2267ec49",
      "tree": "bf7773a6a5f9c128cbdc5ccdcac13795953bbd70",
      "parents": [
        "951b52c5eb1cd0a427bdb77b92ff85f33b516d50",
        "249e93788723f1132e11e9621412e2910114f46b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 14 05:29:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Oct 14 05:29:06 2020 +0000"
      },
      "message": "Merge \"Add to close copied dupfd.\" am: 249e937887\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1436811\n\nChange-Id: I345cadbba83bccc16b2b1e407bba987cb6db09c9\n"
    },
    {
      "commit": "249e93788723f1132e11e9621412e2910114f46b",
      "tree": "bf7773a6a5f9c128cbdc5ccdcac13795953bbd70",
      "parents": [
        "7dfee7e7b712f0e002d1dac7781123df846e057a",
        "b3270e4ecea5df12fb4c57bb56f8dfb19bbf1f1f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 14 04:49:11 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 14 04:49:11 2020 +0000"
      },
      "message": "Merge \"Add to close copied dupfd.\""
    },
    {
      "commit": "951b52c5eb1cd0a427bdb77b92ff85f33b516d50",
      "tree": "e45762b95a88fdd6255a0cdc133f6fe868f92d38",
      "parents": [
        "ed0d2a9dcc3bba12cf7ecce54b159bd9c15271e5",
        "7dfee7e7b712f0e002d1dac7781123df846e057a"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 13 17:54:16 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 13 17:54:16 2020 +0000"
      },
      "message": "Merge \"Add FusedActivationFunc to canonical types\" am: 7dfee7e7b7\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1455997\n\nChange-Id: I30741549225f7097bd06ff2bc8bf6c49f129d99c\n"
    },
    {
      "commit": "7dfee7e7b712f0e002d1dac7781123df846e057a",
      "tree": "e45762b95a88fdd6255a0cdc133f6fe868f92d38",
      "parents": [
        "ae59a9ab3650e942a0bed7e79cbb8d9562591a3e",
        "fb920b988804df61db94446c43c470c27d8c768b"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 13 17:21:48 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 13 17:21:48 2020 +0000"
      },
      "message": "Merge \"Add FusedActivationFunc to canonical types\""
    },
    {
      "commit": "fb920b988804df61db94446c43c470c27d8c768b",
      "tree": "e45762b95a88fdd6255a0cdc133f6fe868f92d38",
      "parents": [
        "ae59a9ab3650e942a0bed7e79cbb8d9562591a3e"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Sun Oct 11 16:39:57 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Sun Oct 11 16:39:57 2020 -0700"
      },
      "message": "Add FusedActivationFunc to canonical types\n\nThis CL also makes two minor fixes to the validation code.\n\nBug: N/A\nTest: mma\nChange-Id: I81b73f1236f6a43e7c249f8c2ca9144b5291b993\n"
    },
    {
      "commit": "ed0d2a9dcc3bba12cf7ecce54b159bd9c15271e5",
      "tree": "2ba3dd846fdb045774686759f88132ff7b895905",
      "parents": [
        "db8fd6ac7adeadb90281672b7ee8d5cbd20888be",
        "ae59a9ab3650e942a0bed7e79cbb8d9562591a3e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 09 17:32:38 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Oct 09 17:32:38 2020 +0000"
      },
      "message": "Merge \"nn: use libc++_static as stl instead of c++_static\" am: ae59a9ab36\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1455180\n\nChange-Id: Ie0578cab6a3983ee03c6b42adfd35839b13f5c78\n"
    },
    {
      "commit": "ae59a9ab3650e942a0bed7e79cbb8d9562591a3e",
      "tree": "2ba3dd846fdb045774686759f88132ff7b895905",
      "parents": [
        "cce0235216778d43aa873b7885a1c50c35f0ebe7",
        "4b97d5cd482e679c2cc72bda500236249b567624"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 09 17:06:42 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 09 17:06:42 2020 +0000"
      },
      "message": "Merge \"nn: use libc++_static as stl instead of c++_static\""
    },
    {
      "commit": "4b97d5cd482e679c2cc72bda500236249b567624",
      "tree": "7fedcc9d0336cf93a038f519768ddbc5d41d0739",
      "parents": [
        "e238d86505854623f9a39bf480b1aa5c78151f61"
      ],
      "author": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Fri Oct 09 10:53:10 2020 +0100"
      },
      "committer": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Fri Oct 09 10:53:10 2020 +0100"
      },
      "message": "nn: use libc++_static as stl instead of c++_static\n\nlibc++_static is preferred and more consistent with the other build\ntargets.\n\nBug: None\nTest: mm CtsNNAPITests_static\nChange-Id: Id96b9705a1ad5bd57d79673a0bfc79e632a2b91b\n"
    },
    {
      "commit": "db8fd6ac7adeadb90281672b7ee8d5cbd20888be",
      "tree": "68221628f3d0b9fa9e6dd343c167751d739448ac",
      "parents": [
        "008989069bf56494ae0f59af52593c469893d36c",
        "d92b7c3857d17490e6aaa2c02a4a71803befc9fe"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 08 17:22:27 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Oct 08 17:22:27 2020 -0700"
      },
      "message": "Skip ab/6749736 in stage.\n\nMerged-In: Ic773e5c979e270df7f64552f6fb2affc39a2359c\nChange-Id: I49e81d1c98817e7e0d3b92c80298bc807911e5ae\n"
    },
    {
      "commit": "008989069bf56494ae0f59af52593c469893d36c",
      "tree": "68221628f3d0b9fa9e6dd343c167751d739448ac",
      "parents": [
        "85a2f91d51c4acd80cac6a8515bd862847b58183",
        "cce0235216778d43aa873b7885a1c50c35f0ebe7"
      ],
      "author": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Thu Oct 08 11:22:18 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Thu Oct 08 11:22:18 2020 +0000"
      },
      "message": "Merge \"ml: improve inclusive language use\" am: cce0235216\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1442960\n\nChange-Id: Ica932534a83c97e24a93395acbbb1a49beca0254\n"
    },
    {
      "commit": "cce0235216778d43aa873b7885a1c50c35f0ebe7",
      "tree": "68221628f3d0b9fa9e6dd343c167751d739448ac",
      "parents": [
        "521fea4b9885bc21476a8d35ebafc85c515c3701",
        "3c9f0a5ebe71be9a08fa01d3a345359274531db1"
      ],
      "author": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Thu Oct 08 10:59:35 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 08 10:59:35 2020 +0000"
      },
      "message": "Merge \"ml: improve inclusive language use\""
    },
    {
      "commit": "85a2f91d51c4acd80cac6a8515bd862847b58183",
      "tree": "9be66203707b4ca310f3e7b0098ae5ab12817dc3",
      "parents": [
        "760680e32cdc4fb27e1791c91423ca24dc801cf7",
        "521fea4b9885bc21476a8d35ebafc85c515c3701"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Wed Oct 07 20:03:35 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Oct 07 20:03:35 2020 +0000"
      },
      "message": "Merge \"Add equality operator to canonical operand and operation types\" am: 521fea4b98\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1451978\n\nChange-Id: I13971cb7efedd12c62eb286160dbcd624356cc33\n"
    },
    {
      "commit": "521fea4b9885bc21476a8d35ebafc85c515c3701",
      "tree": "9be66203707b4ca310f3e7b0098ae5ab12817dc3",
      "parents": [
        "0539b0cfec15380c23c257d5655f96d15f8e6487",
        "eec1a77aeb3a4142f6b25bf79ba3c55abdb31efa"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Wed Oct 07 19:17:12 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 07 19:17:12 2020 +0000"
      },
      "message": "Merge \"Add equality operator to canonical operand and operation types\""
    },
    {
      "commit": "760680e32cdc4fb27e1791c91423ca24dc801cf7",
      "tree": "8aa8a78848fe9516bc38752943e752db6c3f32cb",
      "parents": [
        "af90437e74ae813a648b3b02a4e12da038b40afd",
        "0539b0cfec15380c23c257d5655f96d15f8e6487"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 07 17:06:15 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Wed Oct 07 17:06:15 2020 +0000"
      },
      "message": "Merge \"ml: add define guards for hardware buffer tests\" am: 0539b0cfec\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1442958\n\nChange-Id: Ia99ca6046ba597d055b126e42c151a5784cf962d\n"
    },
    {
      "commit": "0539b0cfec15380c23c257d5655f96d15f8e6487",
      "tree": "8aa8a78848fe9516bc38752943e752db6c3f32cb",
      "parents": [
        "e238d86505854623f9a39bf480b1aa5c78151f61",
        "99a085ed1762073a333f23bf4327ea98abf04cd8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 07 16:42:26 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 07 16:42:26 2020 +0000"
      },
      "message": "Merge \"ml: add define guards for hardware buffer tests\""
    },
    {
      "commit": "eec1a77aeb3a4142f6b25bf79ba3c55abdb31efa",
      "tree": "d49b2e75ce42e1c5496bdbbc07b3bf87c7f85649",
      "parents": [
        "e238d86505854623f9a39bf480b1aa5c78151f61"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 06 23:23:58 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 06 23:23:58 2020 -0700"
      },
      "message": "Add equality operator to canonical operand and operation types\n\nFixes: 170245347\nTest: mma\nChange-Id: I84f70cbfbc7ceebb650f051a54e2f7bf9d2b6e60\n"
    },
    {
      "commit": "af90437e74ae813a648b3b02a4e12da038b40afd",
      "tree": "3450bcddea95ab9d30968a372a07c05be7a4370e",
      "parents": [
        "653c6c89c8a25631a978ed3278b2cdaf6acf1109",
        "e238d86505854623f9a39bf480b1aa5c78151f61"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 06 21:49:33 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 06 21:49:33 2020 +0000"
      },
      "message": "Merge changes from topic \"nnapi-canonical-types\" am: e238d86505\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1449537\n\nChange-Id: Ia75d0ca10a068930870e3bc4e0cd07b1ac8a2b31\n"
    },
    {
      "commit": "653c6c89c8a25631a978ed3278b2cdaf6acf1109",
      "tree": "203ae5d0173a60738969db1e95d6e78e109e32c3",
      "parents": [
        "b824ffc234a0fcd3bec3cc7e9c95b54f3d25e47e",
        "71cf57b269a20669aedbf06faeb3f59e1a3fa085"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 06 21:49:31 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 06 21:49:31 2020 +0000"
      },
      "message": "Implement canonical types in NNAPI am: 71cf57b269\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1449536\n\nChange-Id: Ie288e590ac1434159f879201e1a2f8d065faa8b3\n"
    },
    {
      "commit": "e238d86505854623f9a39bf480b1aa5c78151f61",
      "tree": "3450bcddea95ab9d30968a372a07c05be7a4370e",
      "parents": [
        "9a4f318c3827ad986bccbc8576d79f73f488ea9e",
        "bfef4a044a9176fdb0c1c5ac1fd90e67e2022b7a"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Oct 06 21:22:49 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 21:22:49 2020 +0000"
      },
      "message": "Merge changes from topic \"nnapi-canonical-types\"\n\n* changes:\n  Introduce Result type into NNAPI\n  Implement canonical types in NNAPI\n"
    },
    {
      "commit": "b824ffc234a0fcd3bec3cc7e9c95b54f3d25e47e",
      "tree": "83d3992b6fcc6c13bfa8d9051f8788ec47a35ac1",
      "parents": [
        "21109af81613911739dde2db0a9f0779b30048cc",
        "9a4f318c3827ad986bccbc8576d79f73f488ea9e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 06 20:03:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Oct 06 20:03:03 2020 +0000"
      },
      "message": "Merge \"Fix AHWB handle leak in CpuExecutor when locking fails.\" am: 9a4f318c38\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1451095\n\nChange-Id: I1cb4fc8151848baa794abbf99a110652b7f90286\n"
    },
    {
      "commit": "9a4f318c3827ad986bccbc8576d79f73f488ea9e",
      "tree": "83d3992b6fcc6c13bfa8d9051f8788ec47a35ac1",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1",
        "f6c647be620f9fe04e3d5899b7358cfd6b92f770"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 06 19:34:44 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 06 19:34:44 2020 +0000"
      },
      "message": "Merge \"Fix AHWB handle leak in CpuExecutor when locking fails.\""
    },
    {
      "commit": "f6c647be620f9fe04e3d5899b7358cfd6b92f770",
      "tree": "83d3992b6fcc6c13bfa8d9051f8788ec47a35ac1",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Mon Sep 28 15:47:53 2020 -0700"
      },
      "committer": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Tue Oct 06 10:29:24 2020 -0700"
      },
      "message": "Fix AHWB handle leak in CpuExecutor when locking fails.\n\nFixes: 169166682\nTest: NNT_static\nChange-Id: I78ff6f1d8ad454e69601bf69e00f4c7f4e865d2d\nMerged-In: I78ff6f1d8ad454e69601bf69e00f4c7f4e865d2d\n(cherry picked from commit 4f8699a89ba93512f835c71c0e503cffee6a2537)\n"
    },
    {
      "commit": "b3270e4ecea5df12fb4c57bb56f8dfb19bbf1f1f",
      "tree": "65e1047cc32c12544bf7121de4d9da5555921fe2",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "WON JUN LEE",
        "email": "wonjun44.lee@samsung.com",
        "time": "Fri Sep 25 01:59:09 2020 +0900"
      },
      "committer": {
        "name": "WON JUN LEE",
        "email": "wonjun44.lee@samsung.com",
        "time": "Tue Oct 06 02:22:49 2020 +0000"
      },
      "message": "Add to close copied dupfd.\n\ndupfd will be left when nativeHandle is null.\nBecause if nativeHandle is null, error will be returned\nwithout close the dupfd.\n\nTest: mma\n\nSigned-off-by: WON JUN LEE \u003cwonjun44.lee@samsung.com\u003e\nChange-Id: Ib7701a26ee548078e927797f1a13ca21f1b99904\n"
    },
    {
      "commit": "bfef4a044a9176fdb0c1c5ac1fd90e67e2022b7a",
      "tree": "a67a7f76ce5685c1e4c2c64e8a67050a7c8eae53",
      "parents": [
        "71cf57b269a20669aedbf06faeb3f59e1a3fa085"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Thu Jul 02 14:55:30 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Oct 05 23:23:33 2020 +0000"
      },
      "message": "Introduce Result type into NNAPI\n\nThis CL introduces a new error handling type in the NNAPI. This\n`Result` object is a discriminated union of either the expected value\nor an unexpected error. This CL also adds the convenience macros\nNN_ERROR to simplify building and returning an error and NN_TRY to\npropagate the error at the call site.\n\nThis CL only defines a single templated Result type with the\nunexpected state as a std::string to describe the error being\nreturned. For subsequent CLs, this will be expanded to include\nadditional error information such as the ErrorStatus being returned\nand the OutputShapes in the case of an execution that failed due to\ninsufficient output buffer size.\n\nBug: N/A\nTest: mma\nChange-Id: I9d03e112e3c5489dfa4b585a21abb617a6829f1c\nMerged-In: I9d03e112e3c5489dfa4b585a21abb617a6829f1c\n(cherry picked from commit 7de00405088452d13ecaf964944a36ad9638d4e7)\n"
    },
    {
      "commit": "71cf57b269a20669aedbf06faeb3f59e1a3fa085",
      "tree": "b7d2ad16bfe8e05f2166de82c1ec3e686f87a0ee",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Wed Jan 29 00:24:41 2020 -0800"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Oct 05 23:22:41 2020 +0000"
      },
      "message": "Implement canonical types in NNAPI\n\nThis CL adds the following new functionality:\n* validation code for the canonical types\n* utility code for the canonical types\n* conversions from the test types to the canonical types\n\nBug: 160667419\nBug: 160668435\nTest: mma\nChange-Id: I1069cdf4d0b8f16a8fbd988fd37d05b9069a6a11\nMerged-In: I1069cdf4d0b8f16a8fbd988fd37d05b9069a6a11\n(cherry picked from commit aee9aa601fe7d08de51fc6433cf5f08666715acb)\n"
    },
    {
      "commit": "3c9f0a5ebe71be9a08fa01d3a345359274531db1",
      "tree": "5a27cecb524a89388fe181d63a0af9f89ecb08f5",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Thu Oct 01 14:15:41 2020 +0100"
      },
      "committer": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Fri Oct 02 08:28:54 2020 +0100"
      },
      "message": "ml: improve inclusive language use\n\nIn ChromeOS our inclusive language stats are identifying some language\nthat doesn\u0027t meet our inclusive guidelines (http://shortn/_zSSUfNc7pR).\n\nIt seems that these are all embedded in some html test files, and so are\nfairly safe to change to simple alternatives.\n\nTo replicate these changes:\n\n  cd nn/tools/systrace_parser/parser/test\n  sed -i \"s/BLACKLIST/EXCLUSION/g\" *.html\n  sed -i \"s/\\.sane/\\.correct/g\" *.html\n  sed -i \"s/\\.slaved/\\.coupled/g\" *.html\n  sed -i \"s/_slaves/_partners/g\" *.html\n  sed -i \"s/SLAVE_NAME/PARTNER_NAME/g\" *.html\n  sed -i \"s/WTF::/WOW::/g\" *.html\n  sed -i \"s/\\bhe\\b/they/g\" *.html\n  sed -i \"s/\\bHe\\b/They/g\" *.html\n  sed -i \"s/sanity/correctness/g\" *.html\n  sed -i \"s/master/primary/g\" *.html\n  sed -i \"s/MASTER/PRIMARY/g\" *.html\n\nNote: This tweaks some URLs that need to be then reverted with:\n  sed -i \"s/android-ml-primary-2/android-ml-master-2/g\" *.html\n  sed -i \"s/\\/primary\\//\\/master\\//g\" *.html\n\nBYPASS_INCLUSIVE_LANGUAGE_REASON\u003dillustrating the fixes applied\n\nBug: none\nTest: cd nn/tools/systrace_parser \u0026\u0026 ./run_tests.sh\nChange-Id: Id976f83b2f148c2ec20f5fd3a9542bddc79a4efe\n"
    },
    {
      "commit": "99a085ed1762073a333f23bf4327ea98abf04cd8",
      "tree": "c5ebb8ac31750d36b81209a2f9ecdec403d5cf81",
      "parents": [
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Thu Oct 01 12:40:30 2020 +0100"
      },
      "committer": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Thu Oct 01 12:40:30 2020 +0100"
      },
      "message": "ml: add define guards for hardware buffer tests\n\nIn ChromeOS, we do not have hardware buffer support. In order to keep\nour codebases as close as possible, we would like to only build in the\nhardware buffer tests when on the Android platform.\n\nBug: 165801983\nTest: mma in frameworks/ml\nChange-Id: I6a5cda93c1fd74b3edd95a687803155d82c0b63e\n"
    },
    {
      "commit": "21109af81613911739dde2db0a9f0779b30048cc",
      "tree": "608562c909d4b71ece25cd40fb0e135db766a55d",
      "parents": [
        "11368ddca5c40b7faee58448c878ebf8f29def7c",
        "3ab5ca5044de7f1f5929cd90147503025f2982e1"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 20:01:07 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 29 20:01:07 2020 +0000"
      },
      "message": "Merge changes I388f14fe,I11e0e5bb,I52e7179f am: 3ab5ca5044\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1441619\n\nChange-Id: I9dd392c73dcf6f223e2c137ee8060003131a556a\n"
    },
    {
      "commit": "11368ddca5c40b7faee58448c878ebf8f29def7c",
      "tree": "5382617a02f66cbabfd1289e01c569e7366b673e",
      "parents": [
        "c0dbdd120f4c97bfc0cd4caca4b8adda8eeae56b",
        "6846e53ee8b544eb0a784fe4b87b38410bc48ecb"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 20:01:06 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 29 20:01:06 2020 +0000"
      },
      "message": "More testing for partitions with boundary temporaries of unknown size. am: 6846e53ee8\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1441618\n\nChange-Id: I1dd912690d5362803ef54e276fc6bb80d04ab11d\n"
    },
    {
      "commit": "c0dbdd120f4c97bfc0cd4caca4b8adda8eeae56b",
      "tree": "525077583f3f7948f08f4aca688eb06491c52fc4",
      "parents": [
        "080155842e7ecb920e79c8bf29404efc80d30259",
        "e255c32373143375c5717f510f04f8f2dc5db6f2"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 20:00:56 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 29 20:00:56 2020 +0000"
      },
      "message": "Partial fix to allow partitions to have boundary temporaries of unknown size. am: e255c32373\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1441617\n\nChange-Id: If6ace939f254423ef6e50936c846ddde9a3fbe9a\n"
    },
    {
      "commit": "3ab5ca5044de7f1f5929cd90147503025f2982e1",
      "tree": "608562c909d4b71ece25cd40fb0e135db766a55d",
      "parents": [
        "6c03731d6e9450068d8cf3866edcec185326fa42",
        "9d1874d82fd53740c2248afff1d8ad20200c99fa"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 19:44:18 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 29 19:44:18 2020 +0000"
      },
      "message": "Merge changes I388f14fe,I11e0e5bb,I52e7179f\n\n* changes:\n  model output of unspecified shape as partition input should not force CPU fallback\n  More testing for partitions with boundary temporaries of unknown size.\n  Partial fix to allow partitions to have boundary temporaries of unknown size.\n"
    },
    {
      "commit": "9d1874d82fd53740c2248afff1d8ad20200c99fa",
      "tree": "608562c909d4b71ece25cd40fb0e135db766a55d",
      "parents": [
        "6846e53ee8b544eb0a784fe4b87b38410bc48ecb"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 22 14:51:37 2020 -0700"
      },
      "committer": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 09:18:03 2020 -0700"
      },
      "message": "model output of unspecified shape as partition input should not force CPU fallback\n\nWhen execution of one partition writes a model output, and that output\u0027s\nshape is not fully specified, and the execution succeeds, and that model\noutput is the input of another partition, execution of that second\npartition fails. This results in CPU fallback, except that an OEM or\nextension operation results in execution failure being reported at the\nNDK level.\n\nThe reason execution of the second partition fails is that although\nshape information is computed by execution of the first partition, that\nshape information is not propagated to the execution of the second\npartition: When we try to execute the second partition, both the model\ninput operand and the request input argument have unspecified shape,\ncausing a validation failure.\n\nThe fix is that in ExecutionStep::mapInputsAndOutputs() when we\ninitialize the second partition\u0027s input from the first partition\u0027s\noutput, we copy the dimensions from the first partition\u0027s output to the\nsecond partition\u0027s input.\n\nTest: NeuralNetworksTest_static (PartitioningTest, DynamicTemporariesTest, RandomPartitioningTest)\n\nBug: 168657259\nMerged-In: I388f14feb2e55d1632958a07e2f2b5cecb9328d8\nChange-Id: I388f14feb2e55d1632958a07e2f2b5cecb9328d8\n(cherry picked from commit bf459f7b742bfbb3bc06948014d73d6fd41591ab)\n"
    },
    {
      "commit": "6846e53ee8b544eb0a784fe4b87b38410bc48ecb",
      "tree": "5382617a02f66cbabfd1289e01c569e7366b673e",
      "parents": [
        "e255c32373143375c5717f510f04f8f2dc5db6f2"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Fri Sep 18 14:16:31 2020 -0700"
      },
      "committer": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 09:17:01 2020 -0700"
      },
      "message": "More testing for partitions with boundary temporaries of unknown size.\n\nPartitioningTest:\n- Add verification that no existing tests have boundary temporaries of\n  unknown size.\n- Add new tests:\n  - Model output with unspecified shape and sufficient size.\n    Disabled because of b/168657259.\n  - Boundary temporary of unknown size, model outputs of unspecified\n    shape and sufficient size.  Disabled because of b/168657259.\n  - Boundary temporary of unknown size, model outputs of specified\n    shape.\n  - Boundary temporary of unknown size, model output with insufficient size.\n  - Model output with insufficient size.\n- Verify that all tests have expected\n  modelOutputsThatAreDownstreamInputs set: Most tests have empty set,\n  two old tests have a one-member set, the four new tests each have a\n  one-member set (sometimes a model output of unknown size).\n- \"#ifdef VERBOSE\" now produces more information when a comparison fails.\n\nRandomPartitioningTest:\n- Some ASYNC testing now becomes FENCED testing,\n  to ensure that boundary temporaries of unknown size are handled\n  properly (we expect, but do not confirm, that this will happen via\n  fallback to ASYNC).  This potentially changes all test cases (because\n  of its effect on pseudorandom number sequences).  Note that all\n  attempts in these tests to test handling of boundary temporaries of\n  unknown size is vulnerable to compile-time shape propagation (an\n  optimization that does not occur today): If such propagation happens,\n  then we may not actually have boundary temporaries of unknown size,\n  and so we will not be testing what we want to test.\n- Under \"#ifdef TRACE_DYNTEMP\", generate some debugging output that\n  may be useful to determine test coverage for support of boundary\n  temporaries of unknown size.\n\nAlso:\n- Improvements to Execution wrapper: New methods getComputeMode() and\n  compute(ComputeMode).  Change TestExecution.cpp and\n  TestGenerated.cpp to use the new methods.\n- Improve logging to better distinguish burst execution from ordinary\n  synchronous execution.\n- Make some validation failure messages more verbose.\n\nTest: NeuralNetworksTest_static (PartitioningTest, DynamicTemporariesTest, RandomPartitioningTest)\nTest: Confirm that Execution wrapper changes work as expected by\n      eyeballing VLOG(EXECUTION) output for NeuralNetworksTest_static\n      Flavor/ExecutionTest13.Wait/0 256 and for *Generated*add 256\n\nBug: 132458982\nMerged-In: I11e0e5bba9a8c6762881127a8aaf10b8cef9db3d\nChange-Id: I11e0e5bba9a8c6762881127a8aaf10b8cef9db3d\n(cherry picked from commit c7766b0113918f4bac0c53ad74264df3d1723f7d)\n"
    },
    {
      "commit": "e255c32373143375c5717f510f04f8f2dc5db6f2",
      "tree": "525077583f3f7948f08f4aca688eb06491c52fc4",
      "parents": [
        "6c03731d6e9450068d8cf3866edcec185326fa42"
      ],
      "author": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Fri Aug 14 15:30:49 2020 -0700"
      },
      "committer": {
        "name": "David Gross",
        "email": "dgross@google.com",
        "time": "Tue Sep 29 09:15:54 2020 -0700"
      },
      "message": "Partial fix to allow partitions to have boundary temporaries of unknown size.\n\nThe old behavior was that we\u0027d fall back to full model CPU execution at\ncompilation time; the new behavior is that we\u0027ll get ordinary\npartitioned compilation and execution.\n\nLimitations:\n- Needs more testing and more tests written.\n- The initial guess for the size of a boundary temporary is a single\n  element.  Perhaps it would be useful to remember actual size from\n  a previous execution.\n- Fenced execution punts to unfenced execution (at the NDK API level)\n  when plan contains subgraph outputs of unknown size.\n- Operands of unknown size at control flow construct boundaries still\n  falls back to full model CPU execution.\n\nAlso adds some diagnostic logging.\n\nTest: NeuralNetworksTest_static\n\nBug: 132458982\n\nMerged-In: I52e7179ff9783d184fd6bfc1c9fefc55972e942a\nChange-Id: I52e7179ff9783d184fd6bfc1c9fefc55972e942a\n(cherry picked from commit d6183c8db7feb5e2bdf0d2907af01418e7da809e)\n"
    },
    {
      "commit": "080155842e7ecb920e79c8bf29404efc80d30259",
      "tree": "9341cfd610a575c790df203d4ec23b32bf4d759e",
      "parents": [
        "21be38220f3b2db620c48292b9906986f0b65376",
        "6c03731d6e9450068d8cf3866edcec185326fa42"
      ],
      "author": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Tue Sep 29 01:20:53 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 29 01:20:53 2020 +0000"
      },
      "message": "Merge \"Fix integer overflow in RGG.\" am: 6c03731d6e\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1430219\n\nChange-Id: I1af9fc6a4ffb80d64a0c27385ce6c2b046d667ac\n"
    },
    {
      "commit": "6c03731d6e9450068d8cf3866edcec185326fa42",
      "tree": "9341cfd610a575c790df203d4ec23b32bf4d759e",
      "parents": [
        "f3a14c00046f3497f8a573794974dc2a5be6f35c",
        "258b74bd6b6e12d0c3788e13792b6f221c95c990"
      ],
      "author": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Tue Sep 29 00:57:48 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 29 00:57:48 2020 +0000"
      },
      "message": "Merge \"Fix integer overflow in RGG.\""
    },
    {
      "commit": "258b74bd6b6e12d0c3788e13792b6f221c95c990",
      "tree": "37911c3be7026cebb6d93f47aac3612966f2bf25",
      "parents": [
        "a1e1acd4857e926a9633a333a3ff552a320e156e"
      ],
      "author": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Thu Sep 17 15:53:46 2020 -0700"
      },
      "committer": {
        "name": "Xusong Wang",
        "email": "xusongw@google.com",
        "time": "Mon Sep 28 15:40:08 2020 -0700"
      },
      "message": "Fix integer overflow in RGG.\n\nSome RGG tests crashed when enabling the integer_overflow sanitizer\nbecause the code attempted to take the negative of a uint32_t value\nbefore casting to int32_t. This CL fixed the issue.\n\nWithout the sanitizer, the code will behave correctly, so the fix will\nnot alter the test behavior.\n\nTest: NNAPI CTS\nTest: NeuralNetworksTest_static_fuzzing with integer_overflow sanitizer\nChange-Id: Id9ba1752ca063b44c78abbbd71e611b1d0f84fdf\nMerged-In: Id9ba1752ca063b44c78abbbd71e611b1d0f84fdf\n(cherry picked from commit 9da0f6420d01f929c1bbe316a2ecee5e926bdd07)\n"
    },
    {
      "commit": "21be38220f3b2db620c48292b9906986f0b65376",
      "tree": "e96ba1bdf1adeccc9f3513555d33f8787fa36067",
      "parents": [
        "6591f4daeb3a63677b1485b8c9fb65134cd9b0b1",
        "f3a14c00046f3497f8a573794974dc2a5be6f35c"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Sep 22 19:04:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 22 19:04:42 2020 +0000"
      },
      "message": "Merge \"Introduce canonical types in NNAPI\" am: f3a14c0004\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1433233\n\nChange-Id: I39fbdc2ebec01f6dd012ed04ce677fb6275f62dc\n"
    },
    {
      "commit": "f3a14c00046f3497f8a573794974dc2a5be6f35c",
      "tree": "e96ba1bdf1adeccc9f3513555d33f8787fa36067",
      "parents": [
        "57223d7b720215034fd4d66d6aa7eaa0336ba92b",
        "d3177b9a2ce3ba8543eda5bd57c98141632e366a"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Tue Sep 22 18:07:36 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 22 18:07:36 2020 +0000"
      },
      "message": "Merge \"Introduce canonical types in NNAPI\""
    },
    {
      "commit": "d3177b9a2ce3ba8543eda5bd57c98141632e366a",
      "tree": "e96ba1bdf1adeccc9f3513555d33f8787fa36067",
      "parents": [
        "57223d7b720215034fd4d66d6aa7eaa0336ba92b"
      ],
      "author": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Jun 29 22:38:51 2020 -0700"
      },
      "committer": {
        "name": "Michael Butler",
        "email": "butlermichael@google.com",
        "time": "Mon Sep 21 19:14:32 2020 -0700"
      },
      "message": "Introduce canonical types in NNAPI\n\nThis CL introduces new \"canonical\" types to represent all NN HAL and\nruntime types. For example, the canonical Model represents the NN HAL\nV1_[0123]::Model types as well as a finished ModelBuilder. More\nspecifically, the values representable by the canonical types are a\nsuperset of the values representable by all NN HAL and runtime types.\nCanonical types seek to improve maintainability of the NNAPI in the\nfollowing ways:\n1) They enable the NN runtime to use canonical types instead of\n   relying on HAL types. For example, the HAL Operand type is\n   currently used in the ModelBuilder object. Canonical types allow\n   the NN runtime to continue developing new functionality without\n   requiring a new HAL version immediately.\n2) They enable conversion code to be written just to and from any\n   given type and the corresponding canonical type. Instead of\n   maintaining all-to-all conversion code, it is sufficient to use\n   canonical types as an intermediate conversion \"hop\".\n3) They enable utility code (such as validation) to be written only\n   for the canonical types. To support the same utility code for\n   other types, it is sufficient to convert to the canonical type,\n   perform the utility, and either interpret the results or convert\n   the results back.\n\nBug: 160667941\nTest: mma\nChange-Id: I25504b533cb9d96a35f374a1ad85a70ec1dd10b0\nMerged-In: I25504b533cb9d96a35f374a1ad85a70ec1dd10b0\n(cherry picked from commit 8bea2060ab3191d59bdc8fb5132343083153af78)\n"
    },
    {
      "commit": "6591f4daeb3a63677b1485b8c9fb65134cd9b0b1",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "afa27a4c71bedb23f71b64463f13f512cdc36dad",
        "57223d7b720215034fd4d66d6aa7eaa0336ba92b"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Sep 19 05:23:10 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Sep 19 05:23:10 2020 +0000"
      },
      "message": "Merge \"Merge mainline-release 6664920 to master - DO NOT MERGE\" am: 57223d7b72\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1430833\n\nChange-Id: I35bc9bb3e6883b269d0fb7cdbb1a6749c825a454\n"
    },
    {
      "commit": "afa27a4c71bedb23f71b64463f13f512cdc36dad",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "05e4f4edf8824cb69048b877dfdfb2efbdd5c1df",
        "4d714b3c51fe4e00c350755ef641cf3f2dcad101"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sat Sep 19 05:22:42 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Sat Sep 19 05:22:42 2020 +0000"
      },
      "message": "Merge mainline-release 6664920 to master - DO NOT MERGE am: 4d714b3c51\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1430833\n\nChange-Id: I267edd062e31ea108b7cd8b259ab3784b44ad729\n"
    },
    {
      "commit": "57223d7b720215034fd4d66d6aa7eaa0336ba92b",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "8cbfb213029ae4f5de80a73c8fc14cda3a713641",
        "4d714b3c51fe4e00c350755ef641cf3f2dcad101"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Fri Sep 18 18:47:53 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 18:47:53 2020 +0000"
      },
      "message": "Merge \"Merge mainline-release 6664920 to master - DO NOT MERGE\""
    },
    {
      "commit": "4d714b3c51fe4e00c350755ef641cf3f2dcad101",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "8cbfb213029ae4f5de80a73c8fc14cda3a713641",
        "04f7d3580bc118873058af6fe907b83d4911e3f2"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Sep 17 21:57:05 2020 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Thu Sep 17 21:57:05 2020 -0700"
      },
      "message": "Merge mainline-release 6664920 to master - DO NOT MERGE\n\nMerged-In: I4c264d13e086e0ce2afbfc1ddda303846db43b04\nChange-Id: Ia2427f7802e3385cc387a757757ff3308cb94fe8\n"
    },
    {
      "commit": "05e4f4edf8824cb69048b877dfdfb2efbdd5c1df",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "0f722253a7ace337880d6102e0dfcc58c93285b3",
        "8cbfb213029ae4f5de80a73c8fc14cda3a713641"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 18 01:58:32 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 18 01:58:32 2020 +0000"
      },
      "message": "Merge \"Merge android11-tests-dev.\" am: 8cbfb21302\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1427539\n\nChange-Id: I9bc605bc88397fc41fbd2bad6320d5666c22a7a1\n"
    },
    {
      "commit": "8cbfb213029ae4f5de80a73c8fc14cda3a713641",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "a1e1acd4857e926a9633a333a3ff552a320e156e",
        "b840aa28e9ff98c8dc3f99c414b9a06b19b35afc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 18 01:12:08 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 18 01:12:08 2020 +0000"
      },
      "message": "Merge \"Merge android11-tests-dev.\""
    },
    {
      "commit": "b840aa28e9ff98c8dc3f99c414b9a06b19b35afc",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "a1e1acd4857e926a9633a333a3ff552a320e156e",
        "6445511313395109be689d9649965c2e183c4747"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Sep 14 17:17:55 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Sep 14 17:17:55 2020 -0700"
      },
      "message": "Merge android11-tests-dev.\n\nBug: 168333982\nChange-Id: Ic5c043590208960449e30855a6e3f79a0fd849d2\n"
    },
    {
      "commit": "0f722253a7ace337880d6102e0dfcc58c93285b3",
      "tree": "82eb9e1ffe6e3b0c478f40838544d2937f1dbe40",
      "parents": [
        "0f1fb7527f3891d26bef5a7e70cd8b43e5b44e63",
        "04f7d3580bc118873058af6fe907b83d4911e3f2"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Sep 13 07:58:47 2020 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Sun Sep 13 07:58:47 2020 -0700"
      },
      "message": "Merge mainline-release 6664920 to stage-aosp-master - DO NOT MERGE\n\nMerged-In: I51828886b476522a8d9d2c726ee7785465d31fd2\nChange-Id: If44be2f871dfe2a2a857720624b00a0605d0b3d4\n"
    },
    {
      "commit": "0f1fb7527f3891d26bef5a7e70cd8b43e5b44e63",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "6c128944aab330b33572b2daed722862359e63d8",
        "a1e1acd4857e926a9633a333a3ff552a320e156e"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Fri Sep 11 00:40:09 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Sep 11 00:40:09 2020 +0000"
      },
      "message": "[automerger skipped] Merge \"Merge Android R\" am: a1e1acd485 -s ours\n\nam skip reason: Change-Id I3873b423f658a890da5ce66a3162d1db9254c095 with SHA-1 6c128944aa is in history\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1422429\n\nChange-Id: I790fbc121aaefc46c438cac2f2648b8a474c24ee\n"
    },
    {
      "commit": "a1e1acd4857e926a9633a333a3ff552a320e156e",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "015e291930932aaa58b26fae21429f925ace4478",
        "a07ba39fab136a0e0c2edf0972a2dd66e45cfd1a"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Thu Sep 10 17:22:06 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 10 17:22:06 2020 +0000"
      },
      "message": "Merge \"Merge Android R\""
    },
    {
      "commit": "a07ba39fab136a0e0c2edf0972a2dd66e45cfd1a",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "015e291930932aaa58b26fae21429f925ace4478",
        "6c128944aab330b33572b2daed722862359e63d8"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Sep 08 16:55:22 2020 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Sep 08 16:55:22 2020 -0700"
      },
      "message": "Merge Android R\n\nBug: 168057903\nMerged-In: I3873b423f658a890da5ce66a3162d1db9254c095\nChange-Id: I28a53f79e7c928d2883e9d65c64ff8b07eaeca03\n"
    },
    {
      "commit": "6c128944aab330b33572b2daed722862359e63d8",
      "tree": "4d2b29e4b8c4f6a2399c202d28e20c8b71de744e",
      "parents": [
        "a376acc906280be7f588eacfa074f6387f99f5a2",
        "015e291930932aaa58b26fae21429f925ace4478"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 08 19:44:03 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue Sep 08 19:44:03 2020 +0000"
      },
      "message": "Merge \"nn: Ensure BlobCache entries are aligned by size_t\" am: 015e291930\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/ml/+/1407091\n\nChange-Id: I3873b423f658a890da5ce66a3162d1db9254c095\n"
    },
    {
      "commit": "015e291930932aaa58b26fae21429f925ace4478",
      "tree": "a0cfaf8251bd896a9614b10425e517d35cacd2dc",
      "parents": [
        "fb5cbcb19778183eae1dfc97cdd3068308db3f6b",
        "0bc5d1bb1a18db3f98db36a72372e8c4becc44a7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 08 19:26:55 2020 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 08 19:26:55 2020 +0000"
      },
      "message": "Merge \"nn: Ensure BlobCache entries are aligned by size_t\""
    },
    {
      "commit": "0bc5d1bb1a18db3f98db36a72372e8c4becc44a7",
      "tree": "664bd62ef616f96b754cdcee7dfd21a7668a4546",
      "parents": [
        "bbaf4ff9ec590c9a83f0016a6baffda4ecd0c0e4"
      ],
      "author": {
        "name": "Stuart Langley",
        "email": "slangley@google.com",
        "time": "Thu Jul 16 12:21:10 2020 +1000"
      },
      "committer": {
        "name": "Jim Pollock",
        "email": "jmpollock@google.com",
        "time": "Tue Sep 08 20:21:27 2020 +0100"
      },
      "message": "nn: Ensure BlobCache entries are aligned by size_t\n\nOn most chromeos systems alignof(size_t) \u003d\u003d 8. The current code was\nassuming alignment of 4, which caused ubsan failures.\n\nReviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/frameworks/ml/+/2299967\n(cherry picked from commit b92c7b25802659cc1858867d007ea64ccbde67b1)\n\nBug: 161103287\nTest: mma in frameworks/ml\n      all tests from BlobCache_test pass on host x86 and x86_64\n      all tests from BlobCache_test pass on device (blueline)\n\nChange-Id: I37c5aa301988fe289fcbe3d33cfb7ae9d4b962ad\n"
    }
  ],
  "next": "a376acc906280be7f588eacfa074f6387f99f5a2"
}
