*[Porting Reference Ops from Lite to Micro](#porting-reference-ops-from-lite-to-micro)
*[1. Look for a port already in progress](#1-look-for-a-port-already-in-progress)
*[2. Open a GitHub issue to track the port](#2-open-a-github-issue-to-track-the-port)
*[3. Extract Lite's code for parsing op parameters to a function (PR1)](#3-extract-lites-code-for-parsing-op-parameters-to-a-function-pr1)
*[4. Extract the reference for the op to a standalone header (PR2)](#4-extract-the-reference-for-the-op-to-a-standalone-header-pr2)
*[5. Port the op from Lite to Micro (PR3)](#5-port-the-op-from-lite-to-micro-pr3)
*[General Guidelines](#general-guidelines)
*[Check each commit for formatting, lint, and unit-test passage](#check-each-commit-for-formatting-lint-and-unit-test-passage)
*[Add yourself as an asignee to PRs](#add-yourself-as-an-asignee-to-prs)
*[Maintain a 1:1 correspondence between Micro and Lite versions of unit tests](#maintain-a-11-correspondence-between-micro-and-lite-versions-of-unit-tests)
*[Sometimes CI checks on PRs are flakey and fail](#sometimes-ci-checks-on-prs-are-flakey-and-fail)
1. Add the new header to the build by adding to the library definitions
`reference_base` and `legacy_reference_base` in the file
`tensorflow/lite/kernels/internal/BUILD`. See, for example,
[this change for operator FILL](https://github.com/tensorflow/tensorflow/pull/45311/commits/92f459e6b917fa5099ef5317d14c5100d33a86f0#diff-0b0fc9e1affece3c5a141ee9326f882876b6b958bc8b12a7c01d7540dc04983e).
1. Use the program `clang-format` to make sure the code is properly formatted.