wlater MCP Server
Provides secure, read-only access to Google Keep notes and lists, enabling AI assistants to search, retrieve, and view your Keep data without modification capabilities.
README
��#� �w�l�a�t�e�r� �M�C�P� �S�e�r�v�e�r�
�
�
�
�A� �M�o�d�e�l� �C�o�n�t�e�x�t� �P�r�o�t�o�c�o�l� �(�M�C�P�)� �s�e�r�v�e�r� �t�h�a�t� �p�r�o�v�i�d�e�s� �A�I� �a�s�s�i�s�t�a�n�t�s� �w�i�t�h� �s�e�c�u�r�e�,� �r�e�a�d�-�o�n�l�y� �a�c�c�e�s�s� �t�o� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e�s� �a�n�d� �l�i�s�t�s�.�
�
�
�
�#�#� �F�e�a�t�u�r�e�s�
�
�
�
�#�#�#� �T�i�e�r� �1�:� �R�e�a�d�-�O�n�l�y� �A�c�c�e�s�s�
�
�-� ���Q�u�e�r�y� �&� �S�e�a�r�c�h���:� �L�i�s�t�,� �s�e�a�r�c�h�,� �a�n�d� �r�e�t�r�i�e�v�e� �K�e�e�p� �d�a�t�a�
�
�-� ���L�i�s�t� �M�a�n�a�g�e�m�e�n�t���:� �V�i�e�w� �t�o�d�o� �i�t�e�m�s� �w�i�t�h� �c�h�e�c�k�e�d�/�u�n�c�h�e�c�k�e�d� �s�t�a�t�u�s�
�
�-� ���L�a�b�e�l� �S�u�p�p�o�r�t���:� �F�i�l�t�e�r� �a�n�d� �o�r�g�a�n�i�z�e� �n�o�t�e�s� �b�y� �l�a�b�e�l�s�
�
�-� ���M�e�d�i�a� �A�c�c�e�s�s���:� �R�e�t�r�i�e�v�e� �m�e�t�a�d�a�t�a� �a�n�d� �d�o�w�n�l�o�a�d� �l�i�n�k�s� �f�o�r� �i�m�a�g�e�s�,� �d�r�a�w�i�n�g�s�,� �a�n�d� �a�u�d�i�o�
�
�
�
�#�#�#� �T�i�e�r� �2�:� �S�a�f�e� �M�o�d�i�f�i�c�a�t�i�o�n�s�
�
�-� ���N�o�t�e� �C�r�e�a�t�i�o�n���:� �C�r�e�a�t�e� �t�e�x�t� �n�o�t�e�s� �a�n�d� �t�o�d�o� �l�i�s�t�s�
�
�-� ���L�i�s�t� �O�p�e�r�a�t�i�o�n�s���:� �C�h�e�c�k�/�u�n�c�h�e�c�k� �i�t�e�m�s�,� �a�d�d� �n�e�w� �i�t�e�m�s� �t�o� �l�i�s�t�s�
�
�-� ���N�o�t�e� �U�p�d�a�t�e�s���:� �M�o�d�i�f�y� �t�i�t�l�e�s�,� �t�e�x�t� �c�o�n�t�e�n�t�,� �c�o�l�o�r�s�,� �p�i�n�/�a�r�c�h�i�v�e� �s�t�a�t�u�s�
�
�-� ���L�a�b�e�l� �M�a�n�a�g�e�m�e�n�t���:� �C�r�e�a�t�e� �l�a�b�e�l�s�,� �a�d�d�/�r�e�m�o�v�e� �l�a�b�e�l�s� �f�r�o�m� �n�o�t�e�s�
�
�-� ���P�r�e�v�i�e�w�-�B�e�f�o�r�e�-�S�y�n�c���:� �R�e�v�i�e�w� �a�l�l� �c�h�a�n�g�e�s� �b�e�f�o�r�e� �s�a�v�i�n�g� �t�o� �G�o�o�g�l�e� �K�e�e�p�
�
�-� ���E�x�p�l�i�c�i�t� �S�y�n�c� �C�o�n�t�r�o�l���:� �M�a�n�u�a�l� �s�y�n�c� �e�n�s�u�r�e�s� �n�o� �a�c�c�i�d�e�n�t�a�l� �m�o�d�i�f�i�c�a�t�i�o�n�s�
�
�
�
�#�#�#� �S�e�c�u�r�i�t�y�
�
�-� ���S�e�c�u�r�e� �C�r�e�d�e�n�t�i�a�l� �S�t�o�r�a�g�e���:� �M�a�s�t�e�r� �t�o�k�e�n�s� �s�t�o�r�e�d� �i�n� �O�S�-�n�a�t�i�v�e� �k�e�y�r�i�n�g� �(�W�i�n�d�o�w�s� �C�r�e�d�e�n�t�i�a�l� �L�o�c�k�e�r�,� �m�a�c�O�S� �K�e�y�c�h�a�i�n�,� �L�i�n�u�x� �S�e�c�r�e�t� �S�e�r�v�i�c�e�)�
�
�-� ���N�o� �A�u�t�o�-�S�y�n�c���:� �A�l�l� �T�i�e�r� �2� �c�h�a�n�g�e�s� �r�e�q�u�i�r�e� �e�x�p�l�i�c�i�t� �u�s�e�r� �c�o�n�f�i�r�m�a�t�i�o�n� �v�i�a� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)��
�
�-� ���D�e�s�t�r�u�c�t�i�v�e� �O�p�e�r�a�t�i�o�n�s� �B�l�o�c�k�e�d���:� �D�e�l�e�t�e� �a�n�d� �t�r�a�s�h� �o�p�e�r�a�t�i�o�n�s� �a�r�e� �n�e�v�e�r� �e�x�p�o�s�e�d�
�
�
�
�#�#� �S�e�c�u�r�i�t�y� �M�o�d�e�l�
�
�
�
�T�h�e� �s�e�r�v�e�r� �i�m�p�l�e�m�e�n�t�s� �a� �t�i�e�r�e�d� �e�x�p�o�s�u�r�e� �m�o�d�e�l�:�
�
�-� ���T�i�e�r� �1� �(�I�m�p�l�e�m�e�n�t�e�d�)���:� �R�e�a�d�-�o�n�l�y� �o�p�e�r�a�t�i�o�n�s� �-� �l�i�s�t�,� �s�e�a�r�c�h�,� �g�e�t� �n�o�t�e� �d�e�t�a�i�l�s�
�
�-� ���T�i�e�r� �2� �(�I�m�p�l�e�m�e�n�t�e�d�)���:� �M�o�d�i�f�i�c�a�t�i�o�n�s� �w�i�t�h� �e�x�p�l�i�c�i�t� �s�y�n�c� �-� �c�r�e�a�t�e�,� �u�p�d�a�t�e�,� �a�r�c�h�i�v�e� �n�o�t�e�s� �a�n�d� �l�i�s�t�s�
�
�-� ���T�i�e�r� �3� �(�N�o�t� �E�x�p�o�s�e�d�)���:� �D�e�s�t�r�u�c�t�i�v�e� �o�p�e�r�a�t�i�o�n�s� �-� �d�e�l�e�t�e�,� �t�r�a�s�h�
�
�
�
�#�#�#� �T�i�e�r� �2� �S�a�f�e�t�y� �F�e�a�t�u�r�e�s�
�
�
�
�T�i�e�r� �2� �o�p�e�r�a�t�i�o�n�s� �f�o�l�l�o�w� �a� ���p�r�e�v�i�e�w�-�b�e�f�o�r�e�-�s�y�n�c��� �w�o�r�k�f�l�o�w�:�
�
�
�
�1�.� ���L�o�c�a�l� �C�h�a�n�g�e�s� �O�n�l�y���:� �A�l�l� �m�o�d�i�f�i�c�a�t�i�o�n�s� �u�p�d�a�t�e� �l�o�c�a�l� �s�t�a�t�e� �w�i�t�h�o�u�t� �t�o�u�c�h�i�n�g� �G�o�o�g�l�e� �K�e�e�p� �s�e�r�v�e�r�s�
�
�2�.� ���P�r�e�v�i�e�w� �E�v�e�r�y� �C�h�a�n�g�e���:� �E�a�c�h� �o�p�e�r�a�t�i�o�n� �r�e�t�u�r�n�s� �a� �p�r�e�v�i�e�w� �s�h�o�w�i�n�g� �w�h�a�t� �c�h�a�n�g�e�d�
�
�3�.� ���E�x�p�l�i�c�i�t� �S�y�n�c� �R�e�q�u�i�r�e�d���:� �C�h�a�n�g�e�s� �o�n�l�y� �r�e�a�c�h� �G�o�o�g�l�e� �K�e�e�p� �w�h�e�n� �y�o�u� �e�x�p�l�i�c�i�t�l�y� �c�a�l�l� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)��
�
�4�.� ���B�a�t�c�h� �O�p�e�r�a�t�i�o�n�s���:� �M�a�k�e� �m�u�l�t�i�p�l�e� �c�h�a�n�g�e�s�,� �r�e�v�i�e�w� �t�h�e�m� �a�l�l�,� �t�h�e�n� �s�y�n�c� �o�n�c�e�
�
�5�.� ���N�o� �A�u�t�o�-�S�y�n�c���:� �T�h�e� �s�e�r�v�e�r� �N�E�V�E�R� �a�u�t�o�m�a�t�i�c�a�l�l�y� �s�y�n�c�s� �-� �y�o�u� �h�a�v�e� �c�o�m�p�l�e�t�e� �c�o�n�t�r�o�l�
�
�
�
�T�h�i�s� �e�n�s�u�r�e�s� �y�o�u� �c�a�n� �r�e�v�i�e�w� �a�l�l� �c�h�a�n�g�e�s� �b�e�f�o�r�e� �t�h�e�y�'�r�e� �s�a�v�e�d�,� �p�r�e�v�e�n�t�i�n�g� �a�c�c�i�d�e�n�t�a�l� �m�o�d�i�f�i�c�a�t�i�o�n�s�.�
�
�
�
�#�#� �I�n�s�t�a�l�l�a�t�i�o�n�
�
�
�
�#�#�#� �P�r�e�r�e�q�u�i�s�i�t�e�s�
�
�
�
�-� �P�y�t�h�o�n� �3�.�8� �o�r� �h�i�g�h�e�r�
�
�-� �C�h�r�o�m�e� �b�r�o�w�s�e�r� �(�f�o�r� �a�u�t�o�m�a�t�e�d� �a�u�t�h�e�n�t�i�c�a�t�i�o�n�)�
�
�-� �C�h�r�o�m�e�D�r�i�v�e�r� �(�f�o�r� �a�u�t�o�m�a�t�e�d� �a�u�t�h�e�n�t�i�c�a�t�i�o�n�,� �o�p�t�i�o�n�a�l� �i�f� �u�s�i�n�g� �m�a�n�u�a�l� �m�o�d�e�)�
�
�
�
�#�#�#� �S�e�t�u�p� �S�t�e�p�s�
�
�
�
�1�.� ���C�l�o�n�e� �t�h�e� �r�e�p�o�s�i�t�o�r�y��� �(�i�f� �n�o�t� �a�l�r�e�a�d�y� �d�o�n�e�)�:�
�
� � � ����b�a�s�h� � � � � �g�i�t� �c�l�o�n�e� �h�t�t�p�s�:�/�/�g�i�t�h�u�b�.�c�o�m�/�y�o�u�r�u�s�e�r�n�a�m�e�/�w�l�a�t�e�r�-�m�c�p�.�g�i�t� � � � � �c�d� �w�l�a�t�e�r�-�m�c�p� � � � � ����
�
�
�
�2�.� ���C�r�e�a�t�e� �a�n�d� �a�c�t�i�v�a�t�e� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t���:�
�
� � � �
�
� � � ���W�i�n�d�o�w�s�:���
�
� � � ����c�m�d� � � � � �p�y�t�h�o�n� �-�m� �v�e�n�v� �.�v�e�n�v� � � � � �.�v�e�n�v�\�S�c�r�i�p�t�s�\�a�c�t�i�v�a�t�e� � � � � ����
�
� � � �
�
� � � ���L�i�n�u�x�/�m�a�c�O�S�:���
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n�3� �-�m� �v�e�n�v� �.�v�e�n�v� � � � � �s�o�u�r�c�e� �.�v�e�n�v�/�b�i�n�/�a�c�t�i�v�a�t�e� � � � � ����
�
� � � �
�
� � � ���N�o�t�e���:� �A�l�w�a�y�s� �a�c�t�i�v�a�t�e� �t�h�e� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �b�e�f�o�r�e� �r�u�n�n�i�n�g� �a�n�y� �P�y�t�h�o�n� �c�o�m�m�a�n�d�s�.� �Y�o�u�'�l�l� �k�n�o�w� �i�t�'�s� �a�c�t�i�v�a�t�e�d� �w�h�e�n� �y�o�u� �s�e�e� ��(�.�v�e�n�v�)�� �a�t� �t�h�e� �b�e�g�i�n�n�i�n�g� �o�f� �y�o�u�r� �c�o�m�m�a�n�d� �p�r�o�m�p�t�.�
�
�
�
�3�.� ���I�n�s�t�a�l�l� �d�e�p�e�n�d�e�n�c�i�e�s��� �(�w�i�t�h� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �a�c�t�i�v�a�t�e�d�)�:�
�
� � � ����b�a�s�h� � � � � �p�i�p� �i�n�s�t�a�l�l� �-�r� �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t� � � � � ����
�
�
�
�4�.� ���R�u�n� �s�e�t�u�p� �t�o� �s�t�o�r�e� �c�r�e�d�e�n�t�i�a�l�s��� �(�w�i�t�h� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �a�c�t�i�v�a�t�e�d�)�:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y� � � � � ����
�
� � � �
�
� � � �Y�o�u�'�l�l� �b�e� �p�r�o�m�p�t�e�d� �t�o� �c�h�o�o�s�e�:�
�
� � � �-� ���(�s�)� �A�u�t�o�m�a�t�e�d� �s�e�l�e�n�i�u�m� �a�u�t�h�e�n�t�i�c�a�t�i�o�n���:� �O�p�e�n�s� �b�r�o�w�s�e�r�,� �a�u�t�o�m�a�t�e�s� �l�o�g�i�n�,� �e�x�t�r�a�c�t�s� �t�o�k�e�n� �a�u�t�o�m�a�t�i�c�a�l�l�y�
�
� � � �-� ���(�m�)� �M�a�n�u�a�l� �c�r�e�d�e�n�t�i�a�l� �e�n�t�r�y���:� �E�n�t�e�r� �e�m�a�i�l�,� �m�a�s�t�e�r� �t�o�k�e�n�,� �a�n�d� �a�n�d�r�o�i�d��i�d� �m�a�n�u�a�l�l�y�
�
� � � �
�
� � � �T�h�e� �s�e�t�u�p� �w�i�l�l�:�
�
� � � �-� �S�t�o�r�e� �y�o�u�r� �m�a�s�t�e�r� �t�o�k�e�n� �s�e�c�u�r�e�l�y� �i�n� �O�S� �k�e�y�r�i�n�g�
�
� � � �-� �C�r�e�a�t�e� �a� ��.�w�l�a�t�e�r�� �c�o�n�f�i�g� �f�i�l�e� �i�n� �y�o�u�r� �h�o�m�e� �d�i�r�e�c�t�o�r�y�
�
� � � �-� �D�i�s�p�l�a�y� �n�e�x�t� �s�t�e�p�s� �f�o�r� �M�C�P� �c�o�n�f�i�g�u�r�a�t�i�o�n�
�
� � � �
�
� � � ���I�m�p�o�r�t�a�n�t���:� �K�e�e�p� �y�o�u�r� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �a�c�t�i�v�a�t�e�d� �d�u�r�i�n�g� �s�e�t�u�p�!�
�
�
�
�#�#� �M�C�P� �C�o�n�f�i�g�u�r�a�t�i�o�n� �f�o�r� �K�i�r�o�
�
�
�
�#�#�#� �L�o�c�a�t�e� �Y�o�u�r� �M�C�P� �C�o�n�f�i�g�u�r�a�t�i�o�n� �F�i�l�e�
�
�
�
�K�i�r�o�'�s� �M�C�P� �c�o�n�f�i�g�u�r�a�t�i�o�n� �i�s� �s�t�o�r�e�d� �i�n�:�
�
�-� ���W�o�r�k�s�p�a�c�e� �l�e�v�e�l���:� ��.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�m�c�p�.�j�s�o�n�� �(�i�n� �y�o�u�r� �p�r�o�j�e�c�t� �f�o�l�d�e�r�)�
�
�-� ���U�s�e�r� �l�e�v�e�l���:� ��~�/�.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�m�c�p�.�j�s�o�n�� �(�g�l�o�b�a�l� �c�o�n�f�i�g�u�r�a�t�i�o�n�)�
�
�
�
�Y�o�u� �c�a�n� �a�l�s�o� �o�p�e�n� �i�t� �v�i�a� �K�i�r�o�'�s� �c�o�m�m�a�n�d� �p�a�l�e�t�t�e�:� �S�e�a�r�c�h� �f�o�r� �"�M�C�P�"� �a�n�d� �s�e�l�e�c�t� �"�O�p�e�n� �M�C�P� �C�o�n�f�i�g�u�r�a�t�i�o�n�"�
�
�
�
�#�#�#� �A�d�d� �w�l�a�t�e�r� �S�e�r�v�e�r� �C�o�n�f�i�g�u�r�a�t�i�o�n�
�
�
�
�A�d�d� �t�h�e� �f�o�l�l�o�w�i�n�g� �t�o� �y�o�u�r� ��m�c�p�.�j�s�o�n�� �f�i�l�e�.� ���R�e�p�l�a�c�e� �t�h�e� �p�a�t�h�s� �w�i�t�h� �y�o�u�r� �a�c�t�u�a�l� �p�r�o�j�e�c�t� �l�o�c�a�t�i�o�n���:�
�
�
�
���W�i�n�d�o�w�s� �E�x�a�m�p�l�e�:���
�
����j�s�o�n� � �{� � � � �"�m�c�p�S�e�r�v�e�r�s�"�:� �{� � � � � � �"�w�l�a�t�e�r�"�:� �{� � � � � � � � �"�c�o�m�m�a�n�d�"�:� �"�C�:�/�U�s�e�r�s�/�Y�o�u�r�U�s�e�r�n�a�m�e�/�p�r�o�j�e�c�t�s�/�w�l�a�t�e�r�-�m�c�p�/�.�v�e�n�v�/�S�c�r�i�p�t�s�/�p�y�t�h�o�n�.�e�x�e�"�,� � � � � � � � �"�a�r�g�s�"�:� �[�"�C�:�/�U�s�e�r�s�/�Y�o�u�r�U�s�e�r�n�a�m�e�/�p�r�o�j�e�c�t�s�/�w�l�a�t�e�r�-�m�c�p�/�s�r�c�/�s�e�r�v�e�r�.�p�y�"�]�,� � � � � � � � �"�d�i�s�a�b�l�e�d�"�:� �f�a�l�s�e� � � � � � �}� � � � �}� � �}� � ����
�
�
�
���L�i�n�u�x�/�m�a�c�O�S� �E�x�a�m�p�l�e�:���
�
����j�s�o�n� � �{� � � � �"�m�c�p�S�e�r�v�e�r�s�"�:� �{� � � � � � �"�w�l�a�t�e�r�"�:� �{� � � � � � � � �"�c�o�m�m�a�n�d�"�:� �"�/�h�o�m�e�/�y�o�u�r�u�s�e�r�n�a�m�e�/�p�r�o�j�e�c�t�s�/�w�l�a�t�e�r�-�m�c�p�/�.�v�e�n�v�/�b�i�n�/�p�y�t�h�o�n�"�,� � � � � � � � �"�a�r�g�s�"�:� �[�"�/�h�o�m�e�/�y�o�u�r�u�s�e�r�n�a�m�e�/�p�r�o�j�e�c�t�s�/�w�l�a�t�e�r�-�m�c�p�/�s�r�c�/�s�e�r�v�e�r�.�p�y�"�]�,� � � � � � � � �"�d�i�s�a�b�l�e�d�"�:� �f�a�l�s�e� � � � � � �}� � � � �}� � �}� � ����
�
�
�
�#�#�#� �C�r�i�t�i�c�a�l� �C�o�n�f�i�g�u�r�a�t�i�o�n� �N�o�t�e�s�
�
�
�
�1�.� ���U�s�e� �F�u�l�l� �A�b�s�o�l�u�t�e� �P�a�t�h�s���:� �A�l�w�a�y�s� �u�s�e� �c�o�m�p�l�e�t�e� �p�a�t�h�s�,� �n�o�t� �r�e�l�a�t�i�v�e� �p�a�t�h�s� �l�i�k�e� ��.�/�� �o�r� ��~�/��
�
�2�.� ���V�i�r�t�u�a�l� �E�n�v�i�r�o�n�m�e�n�t� �P�y�t�h�o�n���:� �P�o�i�n�t� �t�o� ��.�v�e�n�v�/�S�c�r�i�p�t�s�/�p�y�t�h�o�n�.�e�x�e�� �(�W�i�n�d�o�w�s�)� �o�r� ��.�v�e�n�v�/�b�i�n�/�p�y�t�h�o�n�� �(�L�i�n�u�x�/�m�a�c�O�S�)�,� �N�O�T� �s�y�s�t�e�m� �P�y�t�h�o�n�
�
�3�.� ���F�o�r�w�a�r�d� �S�l�a�s�h�e�s���:� �U�s�e� �f�o�r�w�a�r�d� �s�l�a�s�h�e�s� �(��/��)� �e�v�e�n� �o�n� �W�i�n�d�o�w�s� �f�o�r� �J�S�O�N� �c�o�m�p�a�t�i�b�i�l�i�t�y�
�
�4�.� ���N�o� �T�r�a�i�l�i�n�g� �S�l�a�s�h�e�s���:� �D�o�n�'�t� �a�d�d� �t�r�a�i�l�i�n�g� �s�l�a�s�h�e�s� �t�o� �d�i�r�e�c�t�o�r�y� �p�a�t�h�s�
�
�
�
�#�#�#� �V�e�r�i�f�y� �Y�o�u�r� �C�o�n�f�i�g�u�r�a�t�i�o�n�
�
�
�
�T�o� �f�i�n�d� �y�o�u�r� �e�x�a�c�t� �p�a�t�h�s�:�
�
�
�
���W�i�n�d�o�w�s�:���
�
����c�m�d� � �c�d� �C�:�\�p�a�t�h�\�t�o�\�w�l�a�t�e�r�-�m�c�p� � �c�d� � �e�c�h�o� �%�C�D�%�\�.�v�e�n�v�\�S�c�r�i�p�t�s�\�p�y�t�h�o�n�.�e�x�e� � ����
�
�
�
���L�i�n�u�x�/�m�a�c�O�S�:���
�
����b�a�s�h� � �c�d� �/�p�a�t�h�/�t�o�/�w�l�a�t�e�r�-�m�c�p� � �p�w�d� � �e�c�h�o� �"�$�(�p�w�d�)�/�.�v�e�n�v�/�b�i�n�/�p�y�t�h�o�n�"� � ����
�
�
�
�#�#�#� �A�c�t�i�v�a�t�e� �t�h�e� �S�e�r�v�e�r�
�
�
�
�A�f�t�e�r� �a�d�d�i�n�g� �t�h�e� �c�o�n�f�i�g�u�r�a�t�i�o�n�:�
�
�1�.� ���R�e�s�t�a�r�t� �K�i�r�o���,� �o�r�
�
�2�.� ���R�e�c�o�n�n�e�c�t� �M�C�P� �s�e�r�v�e�r�s��� �f�r�o�m� �t�h�e� �M�C�P� �S�e�r�v�e�r� �v�i�e�w� �i�n� �K�i�r�o�'�s� �s�i�d�e�b�a�r�,� �o�r�
�
�3�.� �U�s�e� �c�o�m�m�a�n�d� �p�a�l�e�t�t�e�:� �"�M�C�P�:� �R�e�c�o�n�n�e�c�t� �S�e�r�v�e�r�s�"�
�
�
�
�T�h�e� �w�l�a�t�e�r� �s�e�r�v�e�r� �s�h�o�u�l�d� �n�o�w� �a�p�p�e�a�r� �i�n� �y�o�u�r� �M�C�P� �t�o�o�l�s� �l�i�s�t�.�
�
�
�
�#�#� �A�v�a�i�l�a�b�l�e� �M�C�P� �T�o�o�l�s�
�
�
�
�T�h�e� �s�e�r�v�e�r� �p�r�o�v�i�d�e�s� �t�w�o� �t�i�e�r�s� �o�f� �t�o�o�l�s�:�
�
�-� ���T�i�e�r� �1� �T�o�o�l�s���:� �R�e�a�d�-�o�n�l�y� �o�p�e�r�a�t�i�o�n�s� �(�s�a�f�e�,� �n�o� �s�y�n�c� �r�e�q�u�i�r�e�d�)�
�
�-� ���T�i�e�r� �2� �T�o�o�l�s���:� �M�o�d�i�f�i�c�a�t�i�o�n� �o�p�e�r�a�t�i�o�n�s� �(�r�e�q�u�i�r�e� �e�x�p�l�i�c�i�t� �s�y�n�c� �t�o� �s�a�v�e� �c�h�a�n�g�e�s�)�
�
�
�
�#�#�#� �U�n�d�e�r�s�t�a�n�d�i�n�g� �t�h�e� �P�r�e�v�i�e�w�-�B�e�f�o�r�e�-�S�y�n�c� �W�o�r�k�f�l�o�w�
�
�
�
�A�l�l� �T�i�e�r� �2� �t�o�o�l�s� �f�o�l�l�o�w� �t�h�i�s� �s�a�f�e�t�y� �p�a�t�t�e�r�n�:�
�
�
�
���� � �1�.� �C�a�l�l� �m�o�d�i�f�i�c�a�t�i�o�n� �t�o�o�l� ��! �C�h�a�n�g�e�s� �m�a�d�e� �l�o�c�a�l�l�y� �(�N�O�T� �s�y�n�c�e�d�)� � �2�.� �R�e�v�i�e�w� �p�r�e�v�i�e�w� �r�e�s�p�o�n�s�e� ��! �S�e�e� �w�h�a�t� �c�h�a�n�g�e�d� � �3�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� ��! �P�u�s�h� �c�h�a�n�g�e�s� �t�o� �G�o�o�g�l�e� �K�e�e�p� � ����
�
�
�
���I�m�p�o�r�t�a�n�t���:� �C�h�a�n�g�e�s� �a�r�e� �N�O�T� �s�a�v�e�d� �t�o� �G�o�o�g�l�e� �K�e�e�p� �u�n�t�i�l� �y�o�u� �e�x�p�l�i�c�i�t�l�y� �c�a�l�l� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)��.� �T�h�i�s� �g�i�v�e�s� �y�o�u� �c�o�m�p�l�e�t�e� �c�o�n�t�r�o�l� �a�n�d� �p�r�e�v�e�n�t�s� �a�c�c�i�d�e�n�t�a�l� �m�o�d�i�f�i�c�a�t�i�o�n�s�.�
�
�
�
�-�-�-�
�
�
�
�#�#� �T�i�e�r� �1� �T�o�o�l�s� �(�R�e�a�d�-�O�n�l�y�)�
�
�
�
�#�#�#� ��c�h�e�c�k�_�c�r�e�d�e�n�t�i�a�l�s��
�
���P�u�r�p�o�s�e���:� �C�h�e�c�k� �i�f� �c�r�e�d�e�n�t�i�a�l�s� �a�r�e� �c�o�n�f�i�g�u�r�e�d� �a�n�d� �v�a�l�i�d�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �
�
����j�s�o�n� � �{� � � � �"�c�o�n�f�i�g�u�r�e�d�"�:� �t�r�u�e�,� � � � �"�e�m�a�i�l�"�:� �"�u�s�e�r�@�g�m�a�i�l�.�c�o�m�"�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�C�r�e�d�e�n�t�i�a�l�s� �f�o�u�n�d� �a�n�d� �v�a�l�i�d�"� � �}� � ����
�
�
�
���U�s�e� �C�a�s�e���:� �V�e�r�i�f�y� �s�e�t�u�p� �b�e�f�o�r�e� �u�s�i�n�g� �o�t�h�e�r� �t�o�o�l�s�
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��l�i�s�t�_�a�l�l�_�n�o�t�e�s��
�
���P�u�r�p�o�s�e���:� �L�i�s�t� �a�l�l� �n�o�t�e�s� �a�n�d� �l�i�s�t�s� �f�r�o�m� �G�o�o�g�l�e� �K�e�e�p�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �A�r�r�a�y� �o�f� �n�o�t�e�s� �w�i�t�h� �b�a�s�i�c� �m�e�t�a�d�a�t�a�
�
����j�s�o�n� � �[� � � � �{� � � � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�t�i�t�l�e�"�:� �"�M�y� �N�o�t�e�"�,� � � � � � �"�n�o�t�e�_�t�y�p�e�"�:� �"�N�o�t�e�"�,� � � � � � �"�p�i�n�n�e�d�"�:� �f�a�l�s�e�,� � � � � � �"�a�r�c�h�i�v�e�d�"�:� �f�a�l�s�e�,� � � � � � �"�c�o�l�o�r�"�:� �"�D�E�F�A�U�L�T�"� � � � �}� � �]� � ����
�
�
�
���L�i�m�i�t�s���:� �R�e�t�u�r�n�s� �u�p� �t�o� �1�0�0�0� �n�o�t�e�s� �(�e�x�c�l�u�d�e�s� �t�r�a�s�h�e�d� �n�o�t�e�s�)�
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��g�e�t�_�n�o�t�e��
�
���P�u�r�p�o�s�e���:� �G�e�t� �d�e�t�a�i�l�e�d� �c�o�n�t�e�n�t� �f�o�r� �a� �s�p�e�c�i�f�i�c� �n�o�t�e� �b�y� �I�D�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�
�
���R�e�t�u�r�n�s���:� �F�u�l�l� �n�o�t�e� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � �"�t�i�t�l�e�"�:� �"�M�y� �N�o�t�e�"�,� � � � �"�t�e�x�t�"�:� �"�N�o�t�e� �c�o�n�t�e�n�t� �h�e�r�e�"�,� � � � �"�n�o�t�e�_�t�y�p�e�"�:� �"�N�o�t�e�"�,� � � � �"�c�o�l�o�r�"�:� �"�B�L�U�E�"�,� � � � �"�p�i�n�n�e�d�"�:� �f�a�l�s�e�,� � � � �"�a�r�c�h�i�v�e�d�"�:� �f�a�l�s�e�,� � � � �"�l�a�b�e�l�s�"�:� �[�{�"�i�d�"�:� �"�l�a�b�e�l�1�"�,� �"�n�a�m�e�"�:� �"�W�o�r�k�"�}�]�,� � � � �"�t�i�m�e�s�t�a�m�p�s�"�:� �{� � � � � � �"�c�r�e�a�t�e�d�"�:� �"�2�0�2�4�-�0�1�-�0�1�T�0�0�:�0�0�:�0�0�Z�"�,� � � � � � �"�u�p�d�a�t�e�d�"�:� �"�2�0�2�4�-�0�1�-�1�5�T�1�0�:�0�0�:�0�0�Z�"�,� � � � � � �"�e�d�i�t�e�d�"�:� �"�2�0�2�4�-�0�1�-�1�5�T�1�0�:�0�0�:�0�0�Z�"� � � � �}� � �}� � ����
�
�
�
���E�r�r�o�r�s���:� �R�a�i�s�e�s� �e�x�c�e�p�t�i�o�n� �i�f� �n�o�t�e��i�d� �d�o�e�s�n�'�t� �e�x�i�s�t�
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��g�e�t�_�l�i�s�t�_�i�t�e�m�s��
�
���P�u�r�p�o�s�e���:� �G�e�t� �l�i�s�t� �i�t�e�m�s� �w�i�t�h� �c�h�e�c�k�e�d� �s�t�a�t�u�s� �f�o�r� �t�o�d�o� �l�i�s�t�s�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��l�i�s�t�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �l�i�s�t� �I�D�
�
�
�
���R�e�t�u�r�n�s���:� �L�i�s�t� �i�t�e�m�s� �o�r�g�a�n�i�z�e�d� �b�y� �s�t�a�t�u�s�
�
����j�s�o�n� � �{� � � � �"�l�i�s�t�_�i�d�"�:� �"�x�y�z�7�8�9�"�,� � � � �"�t�i�t�l�e�"�:� �"�S�h�o�p�p�i�n�g� �L�i�s�t�"�,� � � � �"�a�l�l�_�i�t�e�m�s�"�:� �[� � � � � � �{�"�i�t�e�m�_�i�d�"�:� �"�i�1�"�,� �"�t�e�x�t�"�:� �"�M�i�l�k�"�,� �"�c�h�e�c�k�e�d�"�:� �f�a�l�s�e�,� �"�s�o�r�t�"�:� �1�}�,� � � � � � �{�"�i�t�e�m�_�i�d�"�:� �"�i�2�"�,� �"�t�e�x�t�"�:� �"�B�r�e�a�d�"�,� �"�c�h�e�c�k�e�d�"�:� �t�r�u�e�,� �"�s�o�r�t�"�:� �2�}� � � � �]�,� � � � �"�c�h�e�c�k�e�d�_�i�t�e�m�s�"�:� �[�.�.�.�]�,� � � � �"�u�n�c�h�e�c�k�e�d�_�i�t�e�m�s�"�:� �[�.�.�.�]� � �}� � ����
�
�
�
���E�r�r�o�r�s���:� �R�e�t�u�r�n�s� �e�r�r�o�r� �i�f� �n�o�t�e� �i�s� �n�o�t� �a� �L�i�s�t� �t�y�p�e�
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��s�e�a�r�c�h�_�n�o�t�e�s��
�
���P�u�r�p�o�s�e���:� �S�e�a�r�c�h� �n�o�t�e�s� �w�i�t�h� �o�p�t�i�o�n�a�l� �f�i�l�t�e�r�s�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��q�u�e�r�y�� �(�s�t�r�i�n�g�,� �o�p�t�i�o�n�a�l�)�:� �T�e�x�t� �t�o� �s�e�a�r�c�h� �f�o�r� �i�n� �n�o�t�e� �c�o�n�t�e�n�t�
�
�-� ��p�i�n�n�e�d�� �(�b�o�o�l�e�a�n�,� �o�p�t�i�o�n�a�l�)�:� �F�i�l�t�e�r� �b�y� �p�i�n�n�e�d� �s�t�a�t�u�s�
�
�-� ��a�r�c�h�i�v�e�d�� �(�b�o�o�l�e�a�n�,� �o�p�t�i�o�n�a�l�)�:� �F�i�l�t�e�r� �b�y� �a�r�c�h�i�v�e�d� �s�t�a�t�u�s�
�
�-� ��t�r�a�s�h�e�d�� �(�b�o�o�l�e�a�n�,� �o�p�t�i�o�n�a�l�)�:� �F�i�l�t�e�r� �b�y� �t�r�a�s�h�e�d� �s�t�a�t�u�s�
�
�-� ��c�o�l�o�r�s�� �(�a�r�r�a�y� �o�f� �s�t�r�i�n�g�s�,� �o�p�t�i�o�n�a�l�)�:� �F�i�l�t�e�r� �b�y� �c�o�l�o�r�s� �(�e�.�g�.�,� ��[�"�R�E�D�"�,� �"�B�L�U�E�"�]��)�
�
�-� ��l�a�b�e�l�s�� �(�a�r�r�a�y� �o�f� �s�t�r�i�n�g�s�,� �o�p�t�i�o�n�a�l�)�:� �F�i�l�t�e�r� �b�y� �l�a�b�e�l� �n�a�m�e�s�
�
�
�
���R�e�t�u�r�n�s���:� �A�r�r�a�y� �o�f� �m�a�t�c�h�i�n�g� �n�o�t�e�s� �(�s�a�m�e� �f�o�r�m�a�t� �a�s� ��l�i�s�t�_�a�l�l�_�n�o�t�e�s��)�
�
�
�
���L�i�m�i�t�s���:� �R�e�t�u�r�n�s� �u�p� �t�o� �1�0�0� �r�e�s�u�l�t�s�
�
�
�
���E�x�a�m�p�l�e�s���:�
�
�-� �S�e�a�r�c�h� �f�o�r� �"�p�r�o�j�e�c�t�"�:� ��s�e�a�r�c�h�_�n�o�t�e�s�(�q�u�e�r�y�=�"�p�r�o�j�e�c�t�"�)��
�
�-� �F�i�n�d� �p�i�n�n�e�d� �n�o�t�e�s�:� ��s�e�a�r�c�h�_�n�o�t�e�s�(�p�i�n�n�e�d�=�t�r�u�e�)��
�
�-� �F�i�n�d� �w�o�r�k� �n�o�t�e�s�:� ��s�e�a�r�c�h�_�n�o�t�e�s�(�l�a�b�e�l�s�=�[�"�W�o�r�k�"�]�)��
�
�-� �M�u�l�t�i�p�l�e� �f�i�l�t�e�r�s�:� ��s�e�a�r�c�h�_�n�o�t�e�s�(�q�u�e�r�y�=�"�m�e�e�t�i�n�g�"�,� �p�i�n�n�e�d�=�t�r�u�e�,� �c�o�l�o�r�s�=�[�"�B�L�U�E�"�]�)��
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��l�i�s�t�_�l�a�b�e�l�s��
�
���P�u�r�p�o�s�e���:� �L�i�s�t� �a�l�l� �l�a�b�e�l�s� �s�o�r�t�e�d� �a�l�p�h�a�b�e�t�i�c�a�l�l�y�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �A�r�r�a�y� �o�f� �l�a�b�e�l�s�
�
����j�s�o�n� � �[� � � � �{�"�l�a�b�e�l�_�i�d�"�:� �"�l�a�b�e�l�1�"�,� �"�n�a�m�e�"�:� �"�P�e�r�s�o�n�a�l�"�}�,� � � � �{�"�l�a�b�e�l�_�i�d�"�:� �"�l�a�b�e�l�2�"�,� �"�n�a�m�e�"�:� �"�W�o�r�k�"�}� � �]� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#� ��f�i�n�d�_�l�a�b�e�l��
�
���P�u�r�p�o�s�e���:� �F�i�n�d� �a� �l�a�b�e�l� �b�y� �n�a�m�e� �(�c�a�s�e�-�i�n�s�e�n�s�i�t�i�v�e�)�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�a�m�e�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �L�a�b�e�l� �n�a�m�e� �t�o� �s�e�a�r�c�h� �f�o�r�
�
�
�
���R�e�t�u�r�n�s���:� �L�a�b�e�l� �o�b�j�e�c�t� �o�r� �n�u�l�l�
�
����j�s�o�n� � �{� � � � �"�l�a�b�e�l�_�i�d�"�:� �"�l�a�b�e�l�1�"�,� � � � �"�n�a�m�e�"�:� �"�W�o�r�k�"� � �}� � ����
�
�
�
���N�o�t�e���:� �R�e�t�u�r�n�s� �f�i�r�s�t� �m�a�t�c�h� �i�f� �m�u�l�t�i�p�l�e� �l�a�b�e�l�s� �h�a�v�e� �s�i�m�i�l�a�r� �n�a�m�e�s�
�
�
�
�-�-�-�
�
�
�
�#�#� �T�i�e�r� �2� �T�o�o�l�s� �(�M�o�d�i�f�i�c�a�t�i�o�n�s� �-� �R�e�q�u�i�r�e� �S�y�n�c�)�
�
�
�
�A�l�l� �T�i�e�r� �2� �t�o�o�l�s� �m�o�d�i�f�y� �l�o�c�a�l� �s�t�a�t�e� �o�n�l�y�.� �Y�o�u� �M�U�S�T� �c�a�l�l� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)�� �t�o� �s�a�v�e� �c�h�a�n�g�e�s� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�
�
�
�
�#�#�#� �L�i�s�t� �I�t�e�m� �O�p�e�r�a�t�i�o�n�s�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�l�i�s�t�_�i�t�e�m�_�c�h�e�c�k�e�d��
�
���P�u�r�p�o�s�e���:� �C�h�e�c�k� �o�r� �u�n�c�h�e�c�k� �a� �t�o�d�o� �i�t�e�m� �i�n� �a� �l�i�s�t�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��l�i�s�t�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �l�i�s�t� �I�D�
�
�-� ��i�t�e�m�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �L�i�s�t� �i�t�e�m� �I�D�
�
�-� ��c�h�e�c�k�e�d�� �(�b�o�o�l�e�a�n�,� �r�e�q�u�i�r�e�d�)�:� �N�e�w� �c�h�e�c�k�e�d� �s�t�a�t�u�s� �(�t�r�u�e� �t�o� �c�h�e�c�k�,� �f�a�l�s�e� �t�o� �u�n�c�h�e�c�k�)�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �o�f� �c�h�a�n�g�e�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�u�p�d�a�t�e�_�l�i�s�t�_�i�t�e�m�_�c�h�e�c�k�e�d�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�l�i�s�t�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�l�i�s�t�_�t�i�t�l�e�"�:� �"�S�h�o�p�p�i�n�g� �L�i�s�t�"�,� � � � � � �"�i�t�e�m�_�i�d�"�:� �"�i�t�e�m�4�5�6�"�,� � � � � � �"�i�t�e�m�_�t�e�x�t�"�:� �"�B�u�y� �m�i�l�k�"�,� � � � � � �"�o�l�d�_�v�a�l�u�e�"�:� �f�a�l�s�e�,� � � � � � �"�n�e�w�_�v�a�l�u�e�"�:� �t�r�u�e� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�I�t�e�m� �c�h�e�c�k�e�d� �s�t�a�t�u�s� �u�p�d�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�"� � �}� � ����
�
�
�
���E�x�a�m�p�l�e� �W�o�r�k�f�l�o�w���:�
�
���� � �1�.� �U�s�e�r�:� �"�C�h�e�c�k� �o�f�f� �'�B�u�y� �m�i�l�k�'� �f�r�o�m� �m�y� �s�h�o�p�p�i�n�g� �l�i�s�t�"� � �2�.� �A�I� �c�a�l�l�s�:� �u�p�d�a�t�e�_�l�i�s�t�_�i�t�e�m�_�c�h�e�c�k�e�d�(�l�i�s�t�_�i�d�=�"�a�b�c�1�2�3�"�,� �i�t�e�m�_�i�d�=�"�i�t�e�m�4�5�6�"�,� �c�h�e�c�k�e�d�=�t�r�u�e�)� � �3�.� �A�I� �s�h�o�w�s� �p�r�e�v�i�e�w�:� �"�I�'�v�e� �c�h�e�c�k�e�d� �'�B�u�y� �m�i�l�k�'�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e�?�"� � �4�.� �U�s�e�r�:� �"�Y�e�s�,� �s�a�v�e� �i�t�"� � �5�.� �A�I� �c�a�l�l�s�:� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� � �6�.� �A�I� �c�o�n�f�i�r�m�s�:� �"�C�h�a�n�g�e�s� �s�y�n�c�e�d� �t�o� �G�o�o�g�l�e� �K�e�e�p�"� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��a�d�d�_�l�i�s�t�_�i�t�e�m��
�
���P�u�r�p�o�s�e���:� �A�d�d� �a� �n�e�w� �i�t�e�m� �t�o� �a�n� �e�x�i�s�t�i�n�g� �l�i�s�t�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��l�i�s�t�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �l�i�s�t� �I�D�
�
�-� ��t�e�x�t�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �I�t�e�m� �t�e�x�t�
�
�-� ��c�h�e�c�k�e�d�� �(�b�o�o�l�e�a�n�,� �o�p�t�i�o�n�a�l�)�:� �I�n�i�t�i�a�l� �c�h�e�c�k�e�d� �s�t�a�t�u�s� �(�d�e�f�a�u�l�t�:� �f�a�l�s�e�)�
�
�-� ��s�o�r�t�� �(�i�n�t�e�g�e�r�,� �o�p�t�i�o�n�a�l�)�:� �S�o�r�t� �o�r�d�e�r�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �n�e�w� �i�t�e�m� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�a�d�d�_�l�i�s�t�_�i�t�e�m�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�l�i�s�t�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�l�i�s�t�_�t�i�t�l�e�"�:� �"�S�h�o�p�p�i�n�g� �L�i�s�t�"�,� � � � � � �"�i�t�e�m�_�t�e�x�t�"�:� �"�B�u�y� �e�g�g�s�"�,� � � � � � �"�c�h�e�c�k�e�d�"�:� �f�a�l�s�e� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�I�t�e�m� �a�d�d�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#� �N�o�t�e� �C�r�e�a�t�i�o�n�
�
�
�
�#�#�#�#� ��c�r�e�a�t�e�_�n�o�t�e��
�
���P�u�r�p�o�s�e���:� �C�r�e�a�t�e� �a� �n�e�w� �t�e�x�t� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��t�i�t�l�e�� �(�s�t�r�i�n�g�,� �o�p�t�i�o�n�a�l�)�:� �N�o�t�e� �t�i�t�l�e� �(�d�e�f�a�u�l�t�:� �"�"�)�
�
�-� ��t�e�x�t�� �(�s�t�r�i�n�g�,� �o�p�t�i�o�n�a�l�)�:� �N�o�t�e� �t�e�x�t� �c�o�n�t�e�n�t� �(�d�e�f�a�u�l�t�:� �"�"�)�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �n�o�t�e� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�c�r�e�a�t�e�_�n�o�t�e�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�n�o�t�e�_�i�d�"�:� �"�n�e�w�1�2�3�"�,� � � � � � �"�t�i�t�l�e�"�:� �"�M�e�e�t�i�n�g� �N�o�t�e�s�"�,� � � � � � �"�t�e�x�t�"�:� �"�D�i�s�c�u�s�s�e�d� �p�r�o�j�e�c�t� �t�i�m�e�l�i�n�e�.�.�.�"� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�N�o�t�e� �c�r�e�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��c�r�e�a�t�e�_�l�i�s�t��
�
���P�u�r�p�o�s�e���:� �C�r�e�a�t�e� �a� �n�e�w� �t�o�d�o� �l�i�s�t� �w�i�t�h� �i�t�e�m�s�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��t�i�t�l�e�� �(�s�t�r�i�n�g�,� �o�p�t�i�o�n�a�l�)�:� �L�i�s�t� �t�i�t�l�e� �(�d�e�f�a�u�l�t�:� �"�"�)�
�
�-� ��i�t�e�m�s�� �(�a�r�r�a�y� �o�f� �o�b�j�e�c�t�s�,� �o�p�t�i�o�n�a�l�)�:� �L�i�s�t� �i�t�e�m�s� �w�i�t�h� �f�o�r�m�a�t� ��[�{�"�t�e�x�t�"�:� �"�i�t�e�m� �t�e�x�t�"�,� �"�c�h�e�c�k�e�d�"�:� �f�a�l�s�e�}�,� �.�.�.�]��
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �l�i�s�t� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�c�r�e�a�t�e�_�l�i�s�t�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�l�i�s�t�_�i�d�"�:� �"�n�e�w�4�5�6�"�,� � � � � � �"�t�i�t�l�e�"�:� �"�W�e�e�k�e�n�d� �T�a�s�k�s�"�,� � � � � � �"�i�t�e�m�s�"�:� �[� � � � � � � � �{�"�t�e�x�t�"�:� �"�C�l�e�a�n� �g�a�r�a�g�e�"�,� �"�c�h�e�c�k�e�d�"�:� �f�a�l�s�e�}�,� � � � � � � � �{�"�t�e�x�t�"�:� �"�G�r�o�c�e�r�y� �s�h�o�p�p�i�n�g�"�,� �"�c�h�e�c�k�e�d�"�:� �f�a�l�s�e�}� � � � � � �]� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�L�i�s�t� �c�r�e�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�"� � �}� � ����
�
�
�
���E�x�a�m�p�l�e���:�
�
����p�y�t�h�o�n� � �c�r�e�a�t�e�_�l�i�s�t�(� � � � �t�i�t�l�e�=�"�W�e�e�k�e�n�d� �T�a�s�k�s�"�,� � � � �i�t�e�m�s�=�[� � � � � � �{�"�t�e�x�t�"�:� �"�C�l�e�a�n� �g�a�r�a�g�e�"�,� �"�c�h�e�c�k�e�d�"�:� �F�a�l�s�e�}�,� � � � � � �{�"�t�e�x�t�"�:� �"�G�r�o�c�e�r�y� �s�h�o�p�p�i�n�g�"�,� �"�c�h�e�c�k�e�d�"�:� �F�a�l�s�e�}� � � � �]� � �)� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#� �N�o�t�e� �U�p�d�a�t�e�s�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�n�o�t�e�_�t�i�t�l�e��
�
���P�u�r�p�o�s�e���:� �U�p�d�a�t�e� �a� �n�o�t�e�'�s� �t�i�t�l�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��t�i�t�l�e�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �N�e�w� �t�i�t�l�e�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �s�h�o�w�i�n�g� �o�l�d� �a�n�d� �n�e�w� �t�i�t�l�e�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�u�p�d�a�t�e�_�n�o�t�e�_�t�i�t�l�e�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�o�l�d�_�t�i�t�l�e�"�:� �"�M�e�e�t�i�n�g�"�,� � � � � � �"�n�e�w�_�t�i�t�l�e�"�:� �"�M�e�e�t�i�n�g� �N�o�t�e�s� �-� �Q�4� �P�l�a�n�n�i�n�g�"� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�N�o�t�e� �t�i�t�l�e� �u�p�d�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�n�o�t�e�_�t�e�x�t��
�
���P�u�r�p�o�s�e���:� �U�p�d�a�t�e� �a� �n�o�t�e�'�s� �t�e�x�t� �c�o�n�t�e�n�t�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��t�e�x�t�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �N�e�w� �t�e�x�t� �c�o�n�t�e�n�t�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �s�h�o�w�i�n�g� �o�l�d� �a�n�d� �n�e�w� �t�e�x�t�
�
�
�
���N�o�t�e���:� �O�n�l�y� �w�o�r�k�s� �o�n� �N�o�t�e� �t�y�p�e�,� �n�o�t� �L�i�s�t� �t�y�p�e�.� �L�i�s�t�s� �d�o�n�'�t� �h�a�v�e� �t�e�x�t� �c�o�n�t�e�n�t� �-� �u�s�e� ��a�d�d�_�l�i�s�t�_�i�t�e�m�(�)�� �i�n�s�t�e�a�d�.�
�
�
�
���E�r�r�o�r� �E�x�a�m�p�l�e���:�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �f�a�l�s�e�,� � � � �"�e�r�r�o�r�"�:� �"�T�y�p�e�E�r�r�o�r�"�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�N�o�t�e� �a�b�c�1�2�3� �i�s� �a� �L�i�s�t� �t�y�p�e�.� �L�i�s�t�s� �d�o� �n�o�t� �s�u�p�p�o�r�t� �t�e�x�t� �u�p�d�a�t�e�s�.� �U�s�e� �a�d�d�_�l�i�s�t�_�i�t�e�m�(�)� �i�n�s�t�e�a�d�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#� �N�o�t�e� �P�r�o�p�e�r�t�i�e�s�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�n�o�t�e�_�c�o�l�o�r��
�
���P�u�r�p�o�s�e���:� �C�h�a�n�g�e� �a� �n�o�t�e�'�s� �c�o�l�o�r�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��c�o�l�o�r�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �C�o�l�o�r� �n�a�m�e�
�
�
�
���V�a�l�i�d� �C�o�l�o�r�s���:� �W�h�i�t�e�,� �R�e�d�,� �O�r�a�n�g�e�,� �Y�e�l�l�o�w�,� �G�r�e�e�n�,� �T�e�a�l�,� �B�l�u�e�,� �D�a�r�k�B�l�u�e�,� �P�u�r�p�l�e�,� �P�i�n�k�,� �B�r�o�w�n�,� �G�r�a�y�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �n�e�w� �c�o�l�o�r�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�u�p�d�a�t�e�_�n�o�t�e�_�c�o�l�o�r�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�I�m�p�o�r�t�a�n�t� �T�a�s�k�s�"�,� � � � � � �"�o�l�d�_�c�o�l�o�r�"�:� �"�D�E�F�A�U�L�T�"�,� � � � � � �"�n�e�w�_�c�o�l�o�r�"�:� �"�R�E�D�"� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�N�o�t�e� �c�o�l�o�r� �u�p�d�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�n�o�t�e�_�p�i�n�n�e�d��
�
���P�u�r�p�o�s�e���:� �P�i�n� �o�r� �u�n�p�i�n� �a� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��p�i�n�n�e�d�� �(�b�o�o�l�e�a�n�,� �r�e�q�u�i�r�e�d�)�:� �N�e�w� �p�i�n�n�e�d� �s�t�a�t�u�s� �(�t�r�u�e� �t�o� �p�i�n�,� �f�a�l�s�e� �t�o� �u�n�p�i�n�)�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �n�e�w� �p�i�n�n�e�d� �s�t�a�t�u�s�
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��u�p�d�a�t�e�_�n�o�t�e�_�a�r�c�h�i�v�e�d��
�
���P�u�r�p�o�s�e���:� �A�r�c�h�i�v�e� �o�r� �u�n�a�r�c�h�i�v�e� �a� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��a�r�c�h�i�v�e�d�� �(�b�o�o�l�e�a�n�,� �r�e�q�u�i�r�e�d�)�:� �N�e�w� �a�r�c�h�i�v�e�d� �s�t�a�t�u�s� �(�t�r�u�e� �t�o� �a�r�c�h�i�v�e�,� �f�a�l�s�e� �t�o� �u�n�a�r�c�h�i�v�e�)�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �n�e�w� �a�r�c�h�i�v�e�d� �s�t�a�t�u�s�
�
�
�
�-�-�-�
�
�
�
�#�#�#� �L�a�b�e�l� �O�p�e�r�a�t�i�o�n�s�
�
�
�
�#�#�#�#� ��c�r�e�a�t�e�_�l�a�b�e�l��
�
���P�u�r�p�o�s�e���:� �C�r�e�a�t�e� �a� �n�e�w� �l�a�b�e�l�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�a�m�e�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �L�a�b�e�l� �n�a�m�e�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �l�a�b�e�l� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�c�r�e�a�t�e�_�l�a�b�e�l�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�l�a�b�e�l�_�i�d�"�:� �"�l�a�b�e�l�7�8�9�"�,� � � � � � �"�n�a�m�e�"�:� �"�P�r�o�j�e�c�t� �A�l�p�h�a�"� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�L�a�b�e�l� �c�r�e�a�t�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e� �t�o� �G�o�o�g�l�e� �K�e�e�p�.�"� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��a�d�d�_�l�a�b�e�l�_�t�o�_�n�o�t�e��
�
���P�u�r�p�o�s�e���:� �A�d�d� �a� �l�a�b�e�l� �t�o� �a� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��l�a�b�e�l�_�n�a�m�e�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �L�a�b�e�l� �n�a�m�e� �t�o� �a�d�d�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �u�p�d�a�t�e�d� �l�a�b�e�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�a�d�d�_�l�a�b�e�l�_�t�o�_�n�o�t�e�"�,� � � � �"�p�r�e�v�i�e�w�"�:� �{� � � � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�M�e�e�t�i�n�g� �N�o�t�e�s�"�,� � � � � � �"�l�a�b�e�l�s�"�:� �[�"�W�o�r�k�"�,� �"�P�r�o�j�e�c�t� �A�l�p�h�a�"�]� � � � �}�,� � � � �"�s�y�n�c�e�d�"�:� �f�a�l�s�e�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�L�a�b�e�l� �a�d�d�e�d� �l�o�c�a�l�l�y�.� �C�a�l�l� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� �t�o� �s�a�v�e�.�"� � �}� � ����
�
�
�
���E�r�r�o�r���:� �R�e�t�u�r�n�s� �e�r�r�o�r� �i�f� �l�a�b�e�l� �d�o�e�s�n�'�t� �e�x�i�s�t�.� �C�r�e�a�t�e� �t�h�e� �l�a�b�e�l� �f�i�r�s�t� �w�i�t�h� ��c�r�e�a�t�e�_�l�a�b�e�l�(�)��.�
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��r�e�m�o�v�e�_�l�a�b�e�l�_�f�r�o�m�_�n�o�t�e��
�
���P�u�r�p�o�s�e���:� �R�e�m�o�v�e� �a� �l�a�b�e�l� �f�r�o�m� �a� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��l�a�b�e�l�_�n�a�m�e�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �L�a�b�e�l� �n�a�m�e� �t�o� �r�e�m�o�v�e�
�
�
�
���R�e�t�u�r�n�s���:� �P�r�e�v�i�e�w� �w�i�t�h� �u�p�d�a�t�e�d� �l�a�b�e�l�s�
�
�
�
�-�-�-�
�
�
�
�#�#�#� �S�y�n�c� �C�o�n�t�r�o�l� �(�C�r�i�t�i�c�a�l�)�
�
�
�
�#�#�#�#� ��s�y�n�c�_�c�h�a�n�g�e�s��
�
���P�u�r�p�o�s�e���:� �S�y�n�c� �a�l�l� �p�e�n�d�i�n�g� �c�h�a�n�g�e�s� �t�o� �G�o�o�g�l�e� �K�e�e�p� �s�e�r�v�e�r�s�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �C�o�n�f�i�r�m�a�t�i�o�n� �w�i�t�h� �s�y�n�c� �d�e�t�a�i�l�s�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�s�y�n�c�"�,� � � � �"�c�h�a�n�g�e�s�_�s�y�n�c�e�d�"�:� �3�,� � � � �"�t�i�m�e�s�t�a�m�p�"�:� �"�2�0�2�5�-�1�1�-�1�4�T�1�2�:�3�4�:�5�6�.�7�8�9�Z�"�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�S�u�c�c�e�s�s�f�u�l�l�y� �s�y�n�c�e�d� �3� �c�h�a�n�g�e�s� �t�o� �G�o�o�g�l�e� �K�e�e�p�"� � �}� � ����
�
�
�
���T�h�i�s� �i�s� �t�h�e� �O�N�L�Y� �w�a�y� �c�h�a�n�g�e�s� �a�r�e� �s�a�v�e�d� �t�o� �G�o�o�g�l�e� �K�e�e�p�.��� �A�l�l� �m�o�d�i�f�i�c�a�t�i�o�n� �t�o�o�l�s� �u�p�d�a�t�e� �l�o�c�a�l� �s�t�a�t�e� �o�n�l�y� �-� �y�o�u� �m�u�s�t� �e�x�p�l�i�c�i�t�l�y� �c�a�l�l� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)�� �t�o� �p�e�r�s�i�s�t� �c�h�a�n�g�e�s�.�
�
�
�
���B�e�s�t� �P�r�a�c�t�i�c�e���:� �R�e�v�i�e�w� �p�e�n�d�i�n�g� �c�h�a�n�g�e�s� �w�i�t�h� ��g�e�t�_�p�e�n�d�i�n�g�_�c�h�a�n�g�e�s�(�)�� �b�e�f�o�r�e� �s�y�n�c�i�n�g�.�
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��g�e�t�_�p�e�n�d�i�n�g�_�c�h�a�n�g�e�s��
�
���P�u�r�p�o�s�e���:� �P�r�e�v�i�e�w� �a�l�l� �p�e�n�d�i�n�g� �c�h�a�n�g�e�s� �b�e�f�o�r�e� �s�y�n�c�i�n�g�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �S�t�r�u�c�t�u�r�e�d� �p�r�e�v�i�e�w� �o�f� �a�l�l� �c�h�a�n�g�e�s�
�
����j�s�o�n� � �{� � � � �"�h�a�s�_�c�h�a�n�g�e�s�"�:� �t�r�u�e�,� � � � �"�c�h�a�n�g�e�_�c�o�u�n�t�"�:� �3�,� � � � �"�c�h�a�n�g�e�s�"�:� �[� � � � � � �{� � � � � � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � � � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�S�h�o�p�p�i�n�g� �L�i�s�t�"�,� � � � � � � � �"�c�h�a�n�g�e�_�t�y�p�e�"�:� �"�l�i�s�t�_�i�t�e�m�_�c�h�e�c�k�e�d�"�,� � � � � � � � �"�d�e�t�a�i�l�s�"�:� �"�C�h�e�c�k�e�d�:� �B�u�y� �m�i�l�k�"� � � � � � �}�,� � � � � � �{� � � � � � � � �"�n�o�t�e�_�i�d�"�:� �"�d�e�f�4�5�6�"�,� � � � � � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�I�d�e�a�s�"�,� � � � � � � � �"�c�h�a�n�g�e�_�t�y�p�e�"�:� �"�n�o�t�e�_�c�r�e�a�t�e�d�"�,� � � � � � � � �"�d�e�t�a�i�l�s�"�:� �"�N�e�w� �n�o�t�e� �c�r�e�a�t�e�d�"� � � � � � �}�,� � � � � � �{� � � � � � � � �"�n�o�t�e�_�i�d�"�:� �"�g�h�i�7�8�9�"�,� � � � � � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�M�e�e�t�i�n�g� �N�o�t�e�s�"�,� � � � � � � � �"�c�h�a�n�g�e�_�t�y�p�e�"�:� �"�n�o�t�e�_�t�i�t�l�e�_�u�p�d�a�t�e�d�"�,� � � � � � � � �"�d�e�t�a�i�l�s�"�:� �"�O�l�d�:� �'�M�e�e�t�i�n�g�'� ��! �N�e�w�:� �'�M�e�e�t�i�n�g� �N�o�t�e�s�'�"� � � � � � �}� � � � �]� � �}� � ����
�
�
�
���U�s�e� �C�a�s�e���:� �C�a�l�l� �t�h�i�s� �b�e�f�o�r�e� ��s�y�n�c�_�c�h�a�n�g�e�s�(�)�� �t�o� �r�e�v�i�e�w� �w�h�a�t� �w�i�l�l� �b�e� �s�a�v�e�d�.�
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��r�e�f�r�e�s�h�_�n�o�t�e�s��
�
���P�u�r�p�o�s�e���:� �R�e�f�r�e�s�h� �l�o�c�a�l� �c�a�c�h�e� �f�r�o�m� �G�o�o�g�l�e� �K�e�e�p� �s�e�r�v�e�r�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:� �N�o�n�e�
�
�
�
���R�e�t�u�r�n�s���:� �C�o�n�f�i�r�m�a�t�i�o�n� �m�e�s�s�a�g�e�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�o�p�e�r�a�t�i�o�n�"�:� �"�r�e�f�r�e�s�h�"�,� � � � �"�m�e�s�s�a�g�e�"�:� �"�C�a�c�h�e� �r�e�f�r�e�s�h�e�d� �f�r�o�m� �G�o�o�g�l�e� �K�e�e�p� �a�t� �2�0�2�5�-�1�1�-�1�4�T�1�2�:�3�4�:�5�6�.�7�8�9�Z�"� � �}� � ����
�
�
�
���I�m�p�o�r�t�a�n�t���:� �I�f� �y�o�u� �h�a�v�e� �p�e�n�d�i�n�g� �l�o�c�a�l� �c�h�a�n�g�e�s�,� �t�h�e�y� �w�i�l�l� �b�e� �s�y�n�c�e�d� �d�u�r�i�n�g� �t�h�e� �r�e�f�r�e�s�h� �o�p�e�r�a�t�i�o�n�.� �U�s�e� ��g�e�t�_�p�e�n�d�i�n�g�_�c�h�a�n�g�e�s�(�)�� �f�i�r�s�t� �i�f� �y�o�u� �w�a�n�t� �t�o� �r�e�v�i�e�w� �t�h�e�m�.�
�
�
�
���U�s�e� �C�a�s�e���:� �F�e�t�c�h� �n�o�t�e�s� �c�r�e�a�t�e�d� �o�u�t�s�i�d�e� �t�h�e� �M�C�P� �s�e�r�v�e�r� �(�e�.�g�.�,� �i�n� �t�h�e� �G�o�o�g�l�e� �K�e�e�p� �m�o�b�i�l�e� �a�p�p�)�.�
�
�
�
�-�-�-�
�
�
�
�#�#�#� �M�e�d�i�a� �O�p�e�r�a�t�i�o�n�s� �(�R�e�a�d�-�O�n�l�y�)�
�
�
�
�#�#�#�#� ��g�e�t�_�n�o�t�e�_�m�e�d�i�a��
�
���P�u�r�p�o�s�e���:� �G�e�t� �a�l�l� �m�e�d�i�a� �a�t�t�a�c�h�m�e�n�t�s� �f�r�o�m� �a� �n�o�t�e�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�
�
���R�e�t�u�r�n�s���:� �M�e�d�i�a� �m�e�t�a�d�a�t�a�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � �"�n�o�t�e�_�t�i�t�l�e�"�:� �"�V�a�c�a�t�i�o�n� �P�h�o�t�o�s�"�,� � � � �"�m�e�d�i�a�"�:� �{� � � � � � �"�i�m�a�g�e�s�"�:� �[� � � � � � � � �{� � � � � � � � � � �"�b�l�o�b�_�i�d�"�:� �"�i�m�g�_�0�0�1�"�,� � � � � � � � � � �"�t�y�p�e�"�:� �"�i�m�a�g�e�"�,� � � � � � � � � � �"�w�i�d�t�h�"�:� �1�9�2�0�,� � � � � � � � � � �"�h�e�i�g�h�t�"�:� �1�0�8�0�,� � � � � � � � � � �"�b�y�t�e�_�s�i�z�e�"�:� �2�4�5�6�7�8�,� � � � � � � � � � �"�e�x�t�r�a�c�t�e�d�_�t�e�x�t�"�:� �"�B�e�a�c�h� �s�u�n�s�e�t�"� � � � � � � � �}� � � � � � �]�,� � � � � � �"�d�r�a�w�i�n�g�s�"�:� �[� � � � � � � � �{� � � � � � � � � � �"�b�l�o�b�_�i�d�"�:� �"�d�r�a�w�_�0�0�1�"�,� � � � � � � � � � �"�t�y�p�e�"�:� �"�d�r�a�w�i�n�g�"�,� � � � � � � � � � �"�e�x�t�r�a�c�t�e�d�_�t�e�x�t�"�:� �"�D�i�a�g�r�a�m� �o�f� �p�r�o�c�e�s�s�"� � � � � � � � �}� � � � � � �]�,� � � � � � �"�a�u�d�i�o�"�:� �[� � � � � � � � �{� � � � � � � � � � �"�b�l�o�b�_�i�d�"�:� �"�a�u�d�i�o�_�0�0�1�"�,� � � � � � � � � � �"�t�y�p�e�"�:� �"�a�u�d�i�o�"�,� � � � � � � � � � �"�l�e�n�g�t�h�"�:� �1�2�0�.�5� � � � � � � � �}� � � � � � �]� � � � �}�,� � � � �"�t�o�t�a�l�_�m�e�d�i�a�"�:� �3� � �}� � ����
�
�
�
���N�o�t�e���:� �R�e�t�u�r�n�s� �e�m�p�t�y� �l�i�s�t�s� �i�f� �n�o�t�e� �h�a�s� �n�o� �m�e�d�i�a� �a�t�t�a�c�h�m�e�n�t�s�.�
�
�
�
�-�-�-�
�
�
�
�#�#�#�#� ��g�e�t�_�m�e�d�i�a�_�l�i�n�k��
�
���P�u�r�p�o�s�e���:� �G�e�t� �d�o�w�n�l�o�a�d� �U�R�L� �f�o�r� �a� �m�e�d�i�a� �b�l�o�b�.�
�
�
�
���P�a�r�a�m�e�t�e�r�s���:�
�
�-� ��n�o�t�e�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �G�o�o�g�l�e� �K�e�e�p� �n�o�t�e� �I�D�
�
�-� ��b�l�o�b�_�i�d�� �(�s�t�r�i�n�g�,� �r�e�q�u�i�r�e�d�)�:� �M�e�d�i�a� �b�l�o�b� �I�D� �(�f�r�o�m� ��g�e�t�_�n�o�t�e�_�m�e�d�i�a�(�)��)�
�
�
�
���R�e�t�u�r�n�s���:� �D�o�w�n�l�o�a�d� �U�R�L�
�
����j�s�o�n� � �{� � � � �"�s�u�c�c�e�s�s�"�:� �t�r�u�e�,� � � � �"�n�o�t�e�_�i�d�"�:� �"�a�b�c�1�2�3�"�,� � � � �"�b�l�o�b�_�i�d�"�:� �"�i�m�g�_�0�0�1�"�,� � � � �"�m�e�d�i�a�_�t�y�p�e�"�:� �"�i�m�a�g�e�"�,� � � � �"�d�o�w�n�l�o�a�d�_�u�r�l�"�:� �"�h�t�t�p�s�:�/�/�k�e�e�p�.�g�o�o�g�l�e�.�c�o�m�/�m�e�d�i�a�/�v�2�/�.�.�.�"�,� � � � �"�e�x�p�i�r�e�s�"�:� �"�U�R�L� �i�s� �t�e�m�p�o�r�a�r�y� �a�n�d� �m�a�y� �e�x�p�i�r�e�"� � �}� � ����
�
�
�
���U�s�e� �C�a�s�e���:� �G�e�t� �t�h�e� �b�l�o�b��i�d� �f�r�o�m� ��g�e�t�_�n�o�t�e�_�m�e�d�i�a�(�)��,� �t�h�e�n� �c�a�l�l� �t�h�i�s� �t�o� �g�e�t� �t�h�e� �d�o�w�n�l�o�a�d� �U�R�L�.�
�
�
�
���W�a�r�n�i�n�g���:� �U�R�L�s� �a�r�e� �t�e�m�p�o�r�a�r�y� �a�n�d� �m�a�y� �e�x�p�i�r�e�.� �D�o�w�n�l�o�a�d� �m�e�d�i�a� �p�r�o�m�p�t�l�y� �i�f� �n�e�e�d�e�d�.�
�
�
�
�-�-�-�
�
�
�
�#�#� �U�s�a�g�e� �E�x�a�m�p�l�e�s�
�
�
�
�#�#�#� �T�i�e�r� �1� �(�R�e�a�d�-�O�n�l�y�)� �E�x�a�m�p�l�e�s�
�
�
�
�O�n�c�e� �c�o�n�f�i�g�u�r�e�d� �i�n� �K�i�r�o�,� �y�o�u� �c�a�n� �q�u�e�r�y� �y�o�u�r� �K�e�e�p� �d�a�t�a� �t�h�r�o�u�g�h� �n�a�t�u�r�a�l� �l�a�n�g�u�a�g�e�:�
�
�
�
�-� �"�S�h�o�w� �m�e� �a�l�l� �m�y� �p�i�n�n�e�d� �n�o�t�e�s�"�
�
�-� �"�F�i�n�d� �n�o�t�e�s� �a�b�o�u�t� �p�r�o�j�e�c�t� �p�l�a�n�n�i�n�g�"�
�
�-� �"�W�h�a�t�'�s� �o�n� �m�y� �s�h�o�p�p�i�n�g� �l�i�s�t�?�"�
�
�-� �"�S�h�o�w� �m�e� �u�n�c�h�e�c�k�e�d� �i�t�e�m�s� �i�n� �m�y� �t�o�d�o� �l�i�s�t�"�
�
�-� �"�F�i�n�d� �a�l�l� �n�o�t�e�s� �w�i�t�h� �t�h�e� �'�w�o�r�k�'� �l�a�b�e�l�"�
�
�-� �"�S�h�o�w� �m�e� �i�m�a�g�e�s� �a�t�t�a�c�h�e�d� �t�o� �m�y� �v�a�c�a�t�i�o�n� �n�o�t�e�"�
�
�
�
�#�#�#� �T�i�e�r� �2� �(�M�o�d�i�f�i�c�a�t�i�o�n�)� �E�x�a�m�p�l�e�s�
�
�
�
�Y�o�u� �c�a�n� �a�l�s�o� �m�o�d�i�f�y� �y�o�u�r� �K�e�e�p� �d�a�t�a� �w�i�t�h� �e�x�p�l�i�c�i�t� �s�y�n�c� �c�o�n�t�r�o�l�:�
�
�
�
���M�a�n�a�g�i�n�g� �T�o�d�o� �L�i�s�t�s�:���
�
�-� �"�C�h�e�c�k� �o�f�f� �'�B�u�y� �m�i�l�k�'� �f�r�o�m� �m�y� �s�h�o�p�p�i�n�g� �l�i�s�t�"� ��! �P�r�e�v�i�e�w� ��! �"�S�a�v�e� �t�h�e�s�e� �c�h�a�n�g�e�s�"� ��! �S�y�n�c�e�d�
�
�-� �"�A�d�d� �'�B�u�y� �e�g�g�s�'� �t�o� �m�y� �s�h�o�p�p�i�n�g� �l�i�s�t�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c� �w�h�e�n� �r�e�a�d�y�
�
�
�
���C�r�e�a�t�i�n�g� �N�o�t�e�s�:���
�
�-� �"�C�r�e�a�t�e� �a� �n�o�t�e� �t�i�t�l�e�d� �'�M�e�e�t�i�n�g� �N�o�t�e�s�'� �w�i�t�h� �t�h�e� �t�e�x�t� �'�D�i�s�c�u�s�s�e�d� �Q�4� �g�o�a�l�s�'�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�-� �"�C�r�e�a�t�e� �a� �t�o�d�o� �l�i�s�t� �c�a�l�l�e�d� �'�W�e�e�k�e�n�d� �T�a�s�k�s�'� �w�i�t�h� �i�t�e�m�s�:� �C�l�e�a�n� �g�a�r�a�g�e�,� �G�r�o�c�e�r�y� �s�h�o�p�p�i�n�g�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�
�
���U�p�d�a�t�i�n�g� �N�o�t�e�s�:���
�
�-� �"�C�h�a�n�g�e� �t�h�e� �t�i�t�l�e� �o�f� �m�y� �m�e�e�t�i�n�g� �n�o�t�e� �t�o� �'�Q�4� �P�l�a�n�n�i�n�g� �M�e�e�t�i�n�g�'�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�-� �"�M�a�k�e� �m�y� �i�m�p�o�r�t�a�n�t� �t�a�s�k�s� �n�o�t�e� �r�e�d�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�-� �"�P�i�n� �m�y� �p�r�o�j�e�c�t� �i�d�e�a�s� �n�o�t�e�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�
�
���L�a�b�e�l� �M�a�n�a�g�e�m�e�n�t�:���
�
�-� �"�C�r�e�a�t�e� �a� �l�a�b�e�l� �c�a�l�l�e�d� �'�P�r�o�j�e�c�t� �A�l�p�h�a�'�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�-� �"�A�d�d� �t�h�e� �'�W�o�r�k�'� �l�a�b�e�l� �t�o� �m�y� �m�e�e�t�i�n�g� �n�o�t�e�s�"� ��! �P�r�e�v�i�e�w� ��! �S�y�n�c�
�
�
�
���B�a�t�c�h� �O�p�e�r�a�t�i�o�n�s�:���
�
�-� �"�C�h�e�c�k� �o�f�f� �t�h�r�e�e� �i�t�e�m�s� �f�r�o�m� �m�y� �t�o�d�o� �l�i�s�t�"� ��! �P�r�e�v�i�e�w� �a�l�l� �c�h�a�n�g�e�s� ��! �"�S�h�o�w� �m�e� �p�e�n�d�i�n�g� �c�h�a�n�g�e�s�"� ��! �R�e�v�i�e�w� ��! �S�y�n�c� �a�l�l� �a�t� �o�n�c�e�
�
�
�
���S�a�f�e�t�y� �W�o�r�k�f�l�o�w�:���
�
���� � �U�s�e�r�:� �"�C�h�e�c�k� �o�f�f� �'�B�u�y� �m�i�l�k�'� �a�n�d� �a�d�d� �'�B�u�y� �e�g�g�s�'� �t�o� �m�y� �s�h�o�p�p�i�n�g� �l�i�s�t�"� � �A�I�:� �M�a�k�e�s� �b�o�t�h� �c�h�a�n�g�e�s� �l�o�c�a�l�l�y�,� �s�h�o�w�s� �p�r�e�v�i�e�w� � �A�I�:� �"�I�'�v�e� �u�p�d�a�t�e�d� �y�o�u�r� �s�h�o�p�p�i�n�g� �l�i�s�t�:� � � � � � � �-� �C�h�e�c�k�e�d�:� �B�u�y� �m�i�l�k� � � � � � � �-� �A�d�d�e�d�:� �B�u�y� �e�g�g�s� � � � � � � � � � � � � � �T�h�e�s�e� �c�h�a�n�g�e�s� �a�r�e� �l�o�c�a�l� �o�n�l�y�.� �W�o�u�l�d� �y�o�u� �l�i�k�e� �m�e� �t�o� �s�y�n�c� �t�h�e�m� �t�o� �G�o�o�g�l�e� �K�e�e�p�?�"� � �U�s�e�r�:� �"�Y�e�s�,� �s�a�v�e� �t�h�e�m�"� � �A�I�:� �C�a�l�l�s� �s�y�n�c�_�c�h�a�n�g�e�s�(�)� � �A�I�:� �"�S�u�c�c�e�s�s�f�u�l�l�y� �s�y�n�c�e�d� �2� �c�h�a�n�g�e�s� �t�o� �G�o�o�g�l�e� �K�e�e�p�"� � ����
�
�
�
�#�#� �T�r�o�u�b�l�e�s�h�o�o�t�i�n�g�
�
�
�
�#�#�#� �S�e�t�u�p� �a�n�d� �I�n�s�t�a�l�l�a�t�i�o�n� �I�s�s�u�e�s�
�
�
�
�#�#�#�#� �V�i�r�t�u�a�l� �E�n�v�i�r�o�n�m�e�n�t� �N�o�t� �A�c�t�i�v�a�t�i�n�g�
�
�
�
���P�r�o�b�l�e�m���:� �C�o�m�m�a�n�d� �p�r�o�m�p�t� �d�o�e�s�n�'�t� �s�h�o�w� ��(�.�v�e�n�v�)�� �p�r�e�f�i�x�
�
�
�
���W�i�n�d�o�w�s� �S�o�l�u�t�i�o�n���:�
�
����c�m�d� � �#� �T�r�y� �a�c�t�i�v�a�t�i�n�g� �w�i�t�h� �f�u�l�l� �p�a�t�h� � �C�:�\�p�a�t�h�\�t�o�\�w�l�a�t�e�r�-�m�c�p�\�.�v�e�n�v�\�S�c�r�i�p�t�s�\�a�c�t�i�v�a�t�e�.�b�a�t� � � � �#� �I�f� �P�o�w�e�r�S�h�e�l�l� �e�x�e�c�u�t�i�o�n� �p�o�l�i�c�y� �b�l�o�c�k�s� �i�t�:� � �S�e�t�-�E�x�e�c�u�t�i�o�n�P�o�l�i�c�y� �-�E�x�e�c�u�t�i�o�n�P�o�l�i�c�y� �R�e�m�o�t�e�S�i�g�n�e�d� �-�S�c�o�p�e� �C�u�r�r�e�n�t�U�s�e�r� � ����
�
�
�
���L�i�n�u�x�/�m�a�c�O�S� �S�o�l�u�t�i�o�n���:�
�
����b�a�s�h� � �#� �E�n�s�u�r�e� �y�o�u�'�r�e� �u�s�i�n�g� �s�o�u�r�c�e�,� �n�o�t� �j�u�s�t� �r�u�n�n�i�n�g� �t�h�e� �s�c�r�i�p�t� � �s�o�u�r�c�e� �.�v�e�n�v�/�b�i�n�/�a�c�t�i�v�a�t�e� � � � �#� �C�h�e�c�k� �i�f� �v�e�n�v� �w�a�s� �c�r�e�a�t�e�d� �p�r�o�p�e�r�l�y� � �l�s� �-�l�a� �.�v�e�n�v�/�b�i�n�/� � ����
�
�
�
�#�#�#�#� �M�o�d�u�l�e� �N�o�t� �F�o�u�n�d� �E�r�r�o�r�s�
�
�
�
���P�r�o�b�l�e�m���:� ��M�o�d�u�l�e�N�o�t�F�o�u�n�d�E�r�r�o�r�:� �N�o� �m�o�d�u�l�e� �n�a�m�e�d� �'�f�a�s�t�m�c�p�'�� �o�r� �s�i�m�i�l�a�r�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� �E�n�s�u�r�e� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �i�s� �a�c�t�i�v�a�t�e�d� �(�y�o�u� �s�h�o�u�l�d� �s�e�e� ��(�.�v�e�n�v�)�� �i�n� �p�r�o�m�p�t�)�
�
�2�.� �R�e�i�n�s�t�a�l�l� �d�e�p�e�n�d�e�n�c�i�e�s�:� ��p�i�p� �i�n�s�t�a�l�l� �-�r� �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t��
�
�3�.� �V�e�r�i�f�y� �i�n�s�t�a�l�l�a�t�i�o�n�:� ��p�i�p� �l�i�s�t� �|� �g�r�e�p� �f�a�s�t�m�c�p��
�
�
�
�-�-�-�
�
�
�
�#�#�#� �A�u�t�h�e�n�t�i�c�a�t�i�o�n� �a�n�d� �C�r�e�d�e�n�t�i�a�l� �I�s�s�u�e�s�
�
�
�
�#�#�#�#� �"�M�a�s�t�e�r� �t�o�k�e�n� �n�o�t� �f�o�u�n�d� �i�n� �k�e�y�r�i�n�g�"�
�
�
�
���P�r�o�b�l�e�m���:� �S�e�r�v�e�r� �c�a�n�'�t� �f�i�n�d� �s�t�o�r�e�d� �c�r�e�d�e�n�t�i�a�l�s�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� �V�e�r�i�f�y� ��.�w�l�a�t�e�r�� �f�i�l�e� �e�x�i�s�t�s� �i�n� �y�o�u�r� �h�o�m�e� �d�i�r�e�c�t�o�r�y�:�
�
� � � �-� �W�i�n�d�o�w�s�:� ��C�:�\�U�s�e�r�s�\�Y�o�u�r�U�s�e�r�n�a�m�e�\�.�w�l�a�t�e�r��
�
� � � �-� �L�i�n�u�x�/�m�a�c�O�S�:� ��~�/�.�w�l�a�t�e�r��
�
�2�.� �C�h�e�c�k� �k�e�y�r�i�n�g� �a�c�c�e�s�s�:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �-�c� �"�i�m�p�o�r�t� �k�e�y�r�i�n�g�;� �p�r�i�n�t�(�k�e�y�r�i�n�g�.�g�e�t�_�k�e�y�r�i�n�g�(�)�)�"� � � � � ����
�
�3�.� �R�e�-�r�u�n� �s�e�t�u�p� �w�i�t�h� �v�e�n�v� �a�c�t�i�v�a�t�e�d�:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y� � � � � ����
�
�
�
�#�#�#�#� �"�A�u�t�h�e�n�t�i�c�a�t�i�o�n� �f�a�i�l�e�d�.� �T�o�k�e�n� �m�a�y� �b�e� �e�x�p�i�r�e�d�"�
�
�
�
���P�r�o�b�l�e�m���:� �M�a�s�t�e�r� �t�o�k�e�n� �i�s� �n�o� �l�o�n�g�e�r� �v�a�l�i�d�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� �D�e�l�e�t�e� �e�x�i�s�t�i�n�g� �c�r�e�d�e�n�t�i�a�l�s�:�
�
� � � �-� �R�e�m�o�v�e� ��~�/�.�w�l�a�t�e�r�� �f�i�l�e�
�
� � � �-� �C�l�e�a�r� �k�e�y�r�i�n�g� �e�n�t�r�y� �(�o�r� �l�e�t� �s�e�t�u�p� �o�v�e�r�w�r�i�t�e� �i�t�)�
�
�2�.� �R�e�-�r�u�n� �s�e�t�u�p�:� ��p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y��
�
�3�.� �C�h�o�o�s�e� �s�e�l�e�n�i�u�m� �m�o�d�e� �f�o�r� �f�r�e�s�h� �t�o�k�e�n�
�
�
�
�#�#�#�#� �P�l�a�t�f�o�r�m�/�U�s�e�r�n�a�m�e� �C�h�a�n�g�e�s�
�
�
�
���S�y�m�p�t�o�m���:� �S�e�r�v�e�r� �d�e�t�e�c�t�s� �p�l�a�t�f�o�r�m� �o�r� �u�s�e�r�n�a�m�e� �m�i�s�m�a�t�c�h�
�
�
�
���A�u�t�o�m�a�t�i�c� �F�i�x���:� �T�h�e� �s�e�r�v�e�r� �w�i�l�l� �a�u�t�o�m�a�t�i�c�a�l�l�y�:�
�
�-� �D�e�t�e�c�t� �p�l�a�t�f�o�r�m�/�u�s�e�r�n�a�m�e� �c�h�a�n�g�e�s�
�
�-� �R�e�g�e�n�e�r�a�t�e� �a�n�d�r�o�i�d��i�d� �u�s�i�n�g� �d�e�t�e�r�m�i�n�i�s�t�i�c� �b�a�s�e�-�3�6� �e�n�c�o�d�i�n�g�
�
�-� �U�p�d�a�t�e� ��.�w�l�a�t�e�r�� �f�i�l�e� �w�i�t�h� �n�e�w� �v�a�l�u�e�s�
�
�
�
���H�o�w� �A�n�d�r�o�i�d� �I�D� �G�e�n�e�r�a�t�i�o�n� �W�o�r�k�s���:�
�
�-� �U�s�e�s� �r�e�v�e�r�s�i�b�l�e� �b�a�s�e�-�3�6� �e�n�c�o�d�i�n�g� �a�l�g�o�r�i�t�h�m�
�
�-� �S�t�r�u�c�t�u�r�e�:� ��7�7�6�c�6�1�� �(�w�l�a�t�e�r�)� �+� �p�l�a�t�f�o�r�m� �c�o�d�e� �+� �e�n�c�o�d�e�d� �u�s�e�r�n�a�m�e�
�
�-� �P�l�a�t�f�o�r�m� �c�o�d�e�s�:� �0�1�=�W�i�n�d�o�w�s�,� �0�2�=�L�i�n�u�x�,� �0�3�=�m�a�c�O�S�,� �e�t�c�.�
�
�-� �U�s�e�r�n�a�m�e� �n�o�r�m�a�l�i�z�e�d� �t�o� �6� �c�h�a�r�s� �(�l�o�w�e�r�c�a�s�e�,� �a�l�p�h�a�n�u�m�e�r�i�c�,� �p�a�d�d�e�d�)�
�
�-� �T�o�t�a�l�:� �1�6� �h�e�x�a�d�e�c�i�m�a�l� �c�h�a�r�a�c�t�e�r�s�
�
�-� �D�e�t�e�r�m�i�n�i�s�t�i�c�:� �s�a�m�e� �u�s�e�r�n�a�m�e� �+� �p�l�a�t�f�o�r�m� �=� �s�a�m�e� �I�D�
�
�-� �R�e�v�e�r�s�i�b�l�e�:� �c�a�n� �d�e�c�o�d�e� �u�s�e�r�n�a�m�e� �f�o�r� �b�r�e�a�c�h� �i�n�v�e�s�t�i�g�a�t�i�o�n�
�
�
�
���M�a�n�u�a�l� �F�i�x��� �(�i�f� �n�e�e�d�e�d�)�:�
�
�1�.� �D�e�l�e�t�e� ��~�/�.�w�l�a�t�e�r�� �f�i�l�e�
�
�2�.� �R�e�-�r�u�n� ��p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y��
�
�
�
�-�-�-�
�
�
�
�#�#�#� �S�e�l�e�n�i�u�m� �A�u�t�h�e�n�t�i�c�a�t�i�o�n� �I�s�s�u�e�s�
�
�
�
�#�#�#�#� �"�C�h�r�o�m�e�D�r�i�v�e�r� �n�o�t� �f�o�u�n�d�"�
�
�
�
���P�r�o�b�l�e�m���:� �S�e�l�e�n�i�u�m� �c�a�n�'�t� �f�i�n�d� �C�h�r�o�m�e�D�r�i�v�e�r� �e�x�e�c�u�t�a�b�l�e�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�-� ���O�p�t�i�o�n� �1���:� �I�n�s�t�a�l�l� �v�i�a� �p�a�c�k�a�g�e� �m�a�n�a�g�e�r�
�
� � �-� �W�i�n�d�o�w�s�:� ��c�h�o�c�o� �i�n�s�t�a�l�l� �c�h�r�o�m�e�d�r�i�v�e�r��
�
� � �-� �m�a�c�O�S�:� ��b�r�e�w� �i�n�s�t�a�l�l� �c�h�r�o�m�e�d�r�i�v�e�r��
�
� � �-� �L�i�n�u�x�:� ��s�u�d�o� �a�p�t� �i�n�s�t�a�l�l� �c�h�r�o�m�i�u�m�-�c�h�r�o�m�e�d�r�i�v�e�r��
�
�-� ���O�p�t�i�o�n� �2���:� �D�o�w�n�l�o�a�d� �m�a�n�u�a�l�l�y� �f�r�o�m� �h�t�t�p�s�:�/�/�c�h�r�o�m�e�d�r�i�v�e�r�.�c�h�r�o�m�i�u�m�.�o�r�g�/�
�
� � �-� �A�d�d� �t�o� �P�A�T�H� �o�r� �p�l�a�c�e� �i�n� �p�r�o�j�e�c�t� �d�i�r�e�c�t�o�r�y�
�
�-� ���O�p�t�i�o�n� �3���:� �U�s�e� �m�a�n�u�a�l� �c�r�e�d�e�n�t�i�a�l� �e�n�t�r�y� �m�o�d�e� �i�n�s�t�e�a�d�
�
�
�
�#�#�#�#� �"�C�A�P�T�C�H�A� �a�p�p�e�a�r�s� �d�u�r�i�n�g� �l�o�g�i�n�"�
�
�
�
���P�r�o�b�l�e�m���:� �G�o�o�g�l�e� �s�h�o�w�s� �C�A�P�T�C�H�A� �d�u�r�i�n�g� �a�u�t�o�m�a�t�e�d� �l�o�g�i�n�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� �S�o�l�v�e� �t�h�e� �C�A�P�T�C�H�A� �i�n� �t�h�e� �b�r�o�w�s�e�r� �w�i�n�d�o�w� �t�h�a�t� �o�p�e�n�s�
�
�2�.� �T�h�e� �s�c�r�i�p�t� �w�i�l�l� �w�a�i�t� �f�o�r� �y�o�u� �t�o� �c�o�m�p�l�e�t�e� �i�t�
�
�3�.� �C�o�n�t�i�n�u�e� �w�i�t�h� �t�h�e� �a�u�t�h�e�n�t�i�c�a�t�i�o�n� �f�l�o�w�
�
�4�.� �I�f� �C�A�P�T�C�H�A� �p�e�r�s�i�s�t�s�,� �t�r�y� �m�a�n�u�a�l� �c�r�e�d�e�n�t�i�a�l� �e�n�t�r�y� �m�o�d�e�
�
�
�
�#�#�#�#� �B�r�o�w�s�e�r� �C�l�o�s�e�s� �I�m�m�e�d�i�a�t�e�l�y�
�
�
�
���P�r�o�b�l�e�m���:� �B�r�o�w�s�e�r� �w�i�n�d�o�w� �o�p�e�n�s� �a�n�d� �c�l�o�s�e�s� �w�i�t�h�o�u�t� �l�o�g�g�i�n�g� �i�n�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� �C�h�e�c�k� �C�h�r�o�m�e� �a�n�d� �C�h�r�o�m�e�D�r�i�v�e�r� �v�e�r�s�i�o�n�s� �m�a�t�c�h�
�
�2�.� �U�p�d�a�t�e� �C�h�r�o�m�e�D�r�i�v�e�r� �t�o� �m�a�t�c�h� �y�o�u�r� �C�h�r�o�m�e� �v�e�r�s�i�o�n�
�
�3�.� �T�r�y� �r�u�n�n�i�n�g� �w�i�t�h� �v�i�s�i�b�l�e� �b�r�o�w�s�e�r� �(�c�h�e�c�k� �s�e�l�e�n�i�u�m� �s�c�r�i�p�t� �s�e�t�t�i�n�g�s�)�
�
�
�
�-�-�-�
�
�
�
�#�#�#� �M�C�P� �S�e�r�v�e�r� �I�s�s�u�e�s�
�
�
�
�#�#�#�#� �S�e�r�v�e�r� �N�o�t� �A�p�p�e�a�r�i�n�g� �i�n� �K�i�r�o�
�
�
�
���P�r�o�b�l�e�m���:� �w�l�a�t�e�r� �s�e�r�v�e�r� �d�o�e�s�n�'�t� �s�h�o�w� �u�p� �i�n� �M�C�P� �t�o�o�l�s� �l�i�s�t�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� ���V�e�r�i�f�y� �M�C�P� �c�o�n�f�i�g�u�r�a�t�i�o�n���:�
�
� � � �-� �O�p�e�n� ��.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�m�c�p�.�j�s�o�n�� �o�r� ��~�/�.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�m�c�p�.�j�s�o�n��
�
� � � �-� �C�h�e�c�k� �p�a�t�h�s� �a�r�e� �a�b�s�o�l�u�t�e� �a�n�d� �c�o�r�r�e�c�t�
�
� � � �-� �E�n�s�u�r�e� �f�o�r�w�a�r�d� �s�l�a�s�h�e�s� �u�s�e�d� �(�e�v�e�n� �o�n� �W�i�n�d�o�w�s�)�
�
� � � �
�
�2�.� ���T�e�s�t� �p�a�t�h�s� �m�a�n�u�a�l�l�y���:�
�
� � � ����c�m�d� � � � � �#� �W�i�n�d�o�w�s� �-� �v�e�r�i�f�y� �P�y�t�h�o�n� �p�a�t�h� �e�x�i�s�t�s� � � � � �d�i�r� �"�C�:�\�p�a�t�h�\�t�o�\�w�l�a�t�e�r�-�m�c�p�\�.�v�e�n�v�\�S�c�r�i�p�t�s�\�p�y�t�h�o�n�.�e�x�e�"� � � � � � � � � � �#� �L�i�n�u�x�/�m�a�c�O�S� � � � � �l�s� �-�l�a� �/�p�a�t�h�/�t�o�/�w�l�a�t�e�r�-�m�c�p�/�.�v�e�n�v�/�b�i�n�/�p�y�t�h�o�n� � � � � ����
�
�
�
�3�.� ���R�e�c�o�n�n�e�c�t� �M�C�P� �s�e�r�v�e�r�s���:�
�
� � � �-� �U�s�e� �K�i�r�o� �c�o�m�m�a�n�d� �p�a�l�e�t�t�e�:� �"�M�C�P�:� �R�e�c�o�n�n�e�c�t� �S�e�r�v�e�r�s�"�
�
� � � �-� �O�r� �r�e�s�t�a�r�t� �K�i�r�o� �c�o�m�p�l�e�t�e�l�y�
�
�
�
�4�.� ���C�h�e�c�k� �K�i�r�o� �l�o�g�s��� �f�o�r� �e�r�r�o�r� �m�e�s�s�a�g�e�s�
�
�
�
�#�#�#�#� �"�S�e�r�v�e�r� �f�a�i�l�e�d� �t�o� �s�t�a�r�t�"� �E�r�r�o�r�
�
�
�
���P�r�o�b�l�e�m���:� �M�C�P� �s�e�r�v�e�r� �f�a�i�l�s� �d�u�r�i�n�g� �s�t�a�r�t�u�p�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� ���T�e�s�t� �s�e�r�v�e�r� �m�a�n�u�a�l�l�y��� �(�w�i�t�h� �v�e�n�v� �a�c�t�i�v�a�t�e�d�)�:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �s�r�c�/�s�e�r�v�e�r�.�p�y� � � � � ����
�
� � � �T�h�i�s� �w�i�l�l� �s�h�o�w� �d�e�t�a�i�l�e�d� �e�r�r�o�r� �m�e�s�s�a�g�e�s�
�
�
�
�2�.� ���C�o�m�m�o�n� �c�a�u�s�e�s���:�
�
� � � �-� �C�r�e�d�e�n�t�i�a�l�s� �n�o�t� �c�o�n�f�i�g�u�r�e�d�:� �R�u�n� ��p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y��
�
� � � �-� �W�r�o�n�g� �P�y�t�h�o�n� �p�a�t�h�:� �U�s�e� �v�e�n�v� �P�y�t�h�o�n�,� �n�o�t� �s�y�s�t�e�m� �P�y�t�h�o�n�
�
� � � �-� �M�i�s�s�i�n�g� �d�e�p�e�n�d�e�n�c�i�e�s�:� �R�u�n� ��p�i�p� �i�n�s�t�a�l�l� �-�r� �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t��
�
�
�
�3�.� ���V�e�r�i�f�y� �c�r�e�d�e�n�t�i�a�l�s���:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �-�c� �"�f�r�o�m� �s�r�c�.�c�r�e�d�e�n�t�i�a�l�s� �i�m�p�o�r�t� �l�o�a�d�_�c�r�e�d�e�n�t�i�a�l�s�;� �p�r�i�n�t�(�l�o�a�d�_�c�r�e�d�e�n�t�i�a�l�s�(�)�)�"� � � � � ����
�
�
�
�#�#�#�#� �T�o�o�l�s� �R�e�t�u�r�n� �E�r�r�o�r�s�
�
�
�
���P�r�o�b�l�e�m���:� �M�C�P� �t�o�o�l�s� �f�a�i�l� �w�h�e�n� �i�n�v�o�k�e�d�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� ���C�h�e�c�k� �c�r�e�d�e�n�t�i�a�l�s� �f�i�r�s�t���:�
�
� � � �-� �U�s�e� ��c�h�e�c�k�_�c�r�e�d�e�n�t�i�a�l�s�� �t�o�o�l�
�
� � � �-� �V�e�r�i�f�y� �i�t� �r�e�t�u�r�n�s� ��"�c�o�n�f�i�g�u�r�e�d�"�:� �t�r�u�e��
�
�
�
�2�.� ���R�e�-�a�u�t�h�e�n�t�i�c�a�t�e� �i�f� �n�e�e�d�e�d���:�
�
� � � ����b�a�s�h� � � � � �p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y� � � � � ����
�
�
�
�3�.� ���C�h�e�c�k� �n�e�t�w�o�r�k� �c�o�n�n�e�c�t�i�v�i�t�y��� �t�o� �G�o�o�g�l�e� �K�e�e�p�
�
�
�
�4�.� ���R�e�v�i�e�w� �e�r�r�o�r� �m�e�s�s�a�g�e�s��� �-� �t�h�e�y� �u�s�u�a�l�l�y� �i�n�d�i�c�a�t�e� �t�h�e� �s�p�e�c�i�f�i�c� �i�s�s�u�e�
�
�
�
�-�-�-�
�
�
�
�#�#�#� �C�o�n�f�i�g�u�r�a�t�i�o�n� �P�a�t�h� �I�s�s�u�e�s�
�
�
�
�#�#�#�#� �"�C�a�n�n�o�t� �f�i�n�d� �m�c�p�.�j�s�o�n�"�
�
�
�
���P�r�o�b�l�e�m���:� �D�o�n�'�t� �k�n�o�w� �w�h�e�r�e� �t�o� �a�d�d� �M�C�P� �c�o�n�f�i�g�u�r�a�t�i�o�n�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�1�.� ���C�r�e�a�t�e� �w�o�r�k�s�p�a�c�e� �c�o�n�f�i�g���:�
�
� � � �-� �C�r�e�a�t�e� ��.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�� �f�o�l�d�e�r� �i�n� �y�o�u�r� �p�r�o�j�e�c�t�
�
� � � �-� �C�r�e�a�t�e� ��m�c�p�.�j�s�o�n�� �f�i�l�e� �t�h�e�r�e�
�
� � � �
�
�2�.� ���O�r� �u�s�e� �u�s�e�r� �c�o�n�f�i�g���:�
�
� � � �-� �W�i�n�d�o�w�s�:� ��C�:�\�U�s�e�r�s�\�Y�o�u�r�U�s�e�r�n�a�m�e�\�.�k�i�r�o�\�s�e�t�t�i�n�g�s�\�m�c�p�.�j�s�o�n��
�
� � � �-� �L�i�n�u�x�/�m�a�c�O�S�:� ��~�/�.�k�i�r�o�/�s�e�t�t�i�n�g�s�/�m�c�p�.�j�s�o�n��
�
�
�
�3�.� ���O�r� �u�s�e� �K�i�r�o� �c�o�m�m�a�n�d� �p�a�l�e�t�t�e���:�
�
� � � �-� �S�e�a�r�c�h� �"�M�C�P�"� ��! �"�O�p�e�n� �M�C�P� �C�o�n�f�i�g�u�r�a�t�i�o�n�"�
�
�
�
�#�#�#�#� �W�r�o�n�g� �P�y�t�h�o�n� �E�x�e�c�u�t�a�b�l�e�
�
�
�
���P�r�o�b�l�e�m���:� �U�s�i�n�g� �s�y�s�t�e�m� �P�y�t�h�o�n� �i�n�s�t�e�a�d� �o�f� �v�e�n�v� �P�y�t�h�o�n�
�
�
�
���S�y�m�p�t�o�m���:� �"�M�o�d�u�l�e� �n�o�t� �f�o�u�n�d�"� �e�r�r�o�r�s� �e�v�e�n� �t�h�o�u�g�h� �d�e�p�e�n�d�e�n�c�i�e�s� �a�r�e� �i�n�s�t�a�l�l�e�d�
�
�
�
���S�o�l�u�t�i�o�n���:�
�
�U�p�d�a�t�e� ��m�c�p�.�j�s�o�n�� �t�o� �u�s�e� �v�e�n�v� �P�y�t�h�o�n�:�
�
����j�s�o�n� � �{� � � � �"�m�c�p�S�e�r�v�e�r�s�"�:� �{� � � � � � �"�w�l�a�t�e�r�"�:� �{� � � � � � � � �"�c�o�m�m�a�n�d�"�:� �"�C�:�/�f�u�l�l�/�p�a�t�h�/�t�o�/�w�l�a�t�e�r�-�m�c�p�/�.�v�e�n�v�/�S�c�r�i�p�t�s�/�p�y�t�h�o�n�.�e�x�e�"�,� � � � � � � � �"�a�r�g�s�"�:� �[�"�C�:�/�f�u�l�l�/�p�a�t�h�/�t�o�/�w�l�a�t�e�r�-�m�c�p�/�s�r�c�/�s�e�r�v�e�r�.�p�y�"�]� � � � � � �}� � � � �}� � �}� � ����
�
�
�
�-�-�-�
�
�
�
�#�#�#� �G�e�t�t�i�n�g� �H�e�l�p�
�
�
�
�I�f� �y�o�u�'�r�e� �s�t�i�l�l� �e�x�p�e�r�i�e�n�c�i�n�g� �i�s�s�u�e�s�:�
�
�
�
�1�.� ���C�h�e�c�k� �c�r�e�d�e�n�t�i�a�l�s���:� �R�u�n� ��p�y�t�h�o�n� �s�r�c�/�s�e�t�u�p�.�p�y�� �a�g�a�i�n�
�
�2�.� ���T�e�s�t� �m�a�n�u�a�l�l�y���:� �R�u�n� ��p�y�t�h�o�n� �s�r�c�/�s�e�r�v�e�r�.�p�y�� �w�i�t�h� �v�e�n�v� �a�c�t�i�v�a�t�e�d�
�
�3�.� ���R�e�v�i�e�w� �l�o�g�s���:� �C�h�e�c�k� �K�i�r�o�'�s� �M�C�P� �s�e�r�v�e�r� �l�o�g�s� �f�o�r� �d�e�t�a�i�l�e�d� �e�r�r�o�r�s�
�
�4�.� ���V�e�r�i�f�y� �p�a�t�h�s���:� �E�n�s�u�r�e� �a�l�l� �p�a�t�h�s� �i�n� ��m�c�p�.�j�s�o�n�� �a�r�e� �a�b�s�o�l�u�t�e� �a�n�d� �c�o�r�r�e�c�t�
�
�5�.� ���O�p�e�n� �a�n� �i�s�s�u�e���:� �I�n�c�l�u�d�e� �e�r�r�o�r� �m�e�s�s�a�g�e�s� �a�n�d� �y�o�u�r� �c�o�n�f�i�g�u�r�a�t�i�o�n� �(�r�e�m�o�v�e� �s�e�n�s�i�t�i�v�e� �d�a�t�a�)�
�
�
�
�#�#� �D�e�v�e�l�o�p�m�e�n�t�
�
�
�
�#�#�#� �P�r�o�j�e�c�t� �S�t�r�u�c�t�u�r�e�
�
�
�
���� � �w�l�a�t�e�r�-�m�c�p�/� � �%�%�% �.�v�e�n�v�/� � � � � � � � � � � � � � � � � � � � �#� �V�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� � �%�%�% �s�r�c�/� � � � � � � � � � � � � � � � � � � � � � �#� �S�o�u�r�c�e� �c�o�d�e� � �% � � �%�%�% �s�e�r�v�e�r�.�p�y� � � � � � � � � � � � �#� �M�a�i�n� �M�C�P� �s�e�r�v�e�r� �e�n�t�r�y� �p�o�i�n�t� � �% � � �%�%�% �k�e�e�p�_�c�l�i�e�n�t�.�p�y� � � � � � � �#� �G�o�o�g�l�e� �K�e�e�p� �A�P�I� �w�r�a�p�p�e�r� � �% � � �%�%�% �c�r�e�d�e�n�t�i�a�l�s�.�p�y� � � � � � � �#� �C�r�e�d�e�n�t�i�a�l� �m�a�n�a�g�e�m�e�n�t� � �% � � �%�%�% �s�e�t�u�p�.�p�y� � � � � � � � � � � � � �#� �O�n�e�-�t�i�m�e� �c�r�e�d�e�n�t�i�a�l� �s�e�t�u�p� � �%�%�% �S�c�r�i�p�t�s�/� � � � � � � � � � � � � � � � � � �#� �U�t�i�l�i�t�y� �s�c�r�i�p�t�s� � �% � � �%�%�% �s�e�l�e�n�i�u�m�_�g�e�t�_�o�a�u�t�h�.�p�y� �#� �A�u�t�o�m�a�t�e�d� �c�r�e�d�e�n�t�i�a�l� �r�e�t�r�i�e�v�a�l� � �%�%�% �r�e�q�u�i�r�e�m�e�n�t�s�.�t�x�t� � � � � � � � � �#� �P�y�t�h�o�n� �d�e�p�e�n�d�e�n�c�i�e�s� � �%�%�% �R�E�A�D�M�E�.�m�d� � � � � � � � � � � � � � � �#� �T�h�i�s� �f�i�l�e� � ����
�
�
�
�#�#�#� �R�u�n�n�i�n�g� �T�e�s�t�s�
�
�
�
����b�a�s�h� � �#� �A�c�t�i�v�a�t�e� �v�i�r�t�u�a�l� �e�n�v�i�r�o�n�m�e�n�t� �f�i�r�s�t� � �p�y�t�e�s�t� � � � �#� �W�i�t�h� �c�o�v�e�r�a�g�e� � �p�y�t�e�s�t� �-�-�c�o�v�=�s�r�c� �-�-�c�o�v�-�r�e�p�o�r�t�=�h�t�m�l� � � � �#� �T�y�p�e� �c�h�e�c�k�i�n�g� � �m�y�p�y� �s�r�c�/� � ����
�
�
�
�#�#�#� �C�o�d�e� �F�o�r�m�a�t�t�i�n�g�
�
�
�
����b�a�s�h� � �b�l�a�c�k� �s�r�c�/� � ����
�
�
�
�#�#� �S�e�c�u�r�i�t�y� �C�o�n�s�i�d�e�r�a�t�i�o�n�s�
�
�
�
�-� ���M�a�s�t�e�r� �t�o�k�e�n�s��� �a�r�e� �s�t�o�r�e�d� �i�n� �O�S�-�n�a�t�i�v�e� �k�e�y�r�i�n�g� �o�n�l�y� �(�n�e�v�e�r� �i�n� �f�i�l�e�s�)�
�
�-� ���C�o�n�f�i�g� �f�i�l�e��� �(��.�w�l�a�t�e�r��)� �c�o�n�t�a�i�n�s� �n�o� �s�e�n�s�i�t�i�v�e� �d�a�t�a�
�
�-� ���T�i�e�r� �1� �t�o�o�l�s��� �a�r�e� �r�e�a�d�-�o�n�l�y� �w�i�t�h� �n�o� �s�i�d�e� �e�f�f�e�c�t�s�
�
�-� ���T�i�e�r� �2� �t�o�o�l�s��� �r�e�q�u�i�r�e� �e�x�p�l�i�c�i�t� �s�y�n�c� �-� �n�o� �a�u�t�o�m�a�t�i�c� �m�o�d�i�f�i�c�a�t�i�o�n�s�
�
�-� ���P�r�e�v�i�e�w�-�b�e�f�o�r�e�-�s�y�n�c��� �w�o�r�k�f�l�o�w� �p�r�e�v�e�n�t�s� �a�c�c�i�d�e�n�t�a�l� �c�h�a�n�g�e�s�
�
�-� ���N�o� �d�e�s�t�r�u�c�t�i�v�e� �o�p�e�r�a�t�i�o�n�s��� �-� �d�e�l�e�t�e� �a�n�d� �t�r�a�s�h� �a�r�e� �n�e�v�e�r� �e�x�p�o�s�e�d� �(�T�i�e�r� �3�)�
�
�-� ���T�o�k�e�n� �v�a�l�i�d�a�t�i�o�n��� �b�e�f�o�r�e� �s�t�o�r�a�g�e� �(�m�u�s�t� �s�t�a�r�t� �w�i�t�h� ��a�a�s�_�e�t�/��)�
�
�-� ���N�o� �t�o�k�e�n� �l�o�g�g�i�n�g��� �o�r� �e�r�r�o�r� �m�e�s�s�a�g�e� �e�x�p�o�s�u�r�e�
�
�-� ���A�n�d�r�o�i�d� �I�D� �g�e�n�e�r�a�t�i�o�n���:�
�
� � �-� �U�s�e�s� �d�e�t�e�r�m�i�n�i�s�t�i�c� �b�a�s�e�-�3�6� �e�n�c�o�d�i�n�g� �(�s�a�m�e� �u�s�e�r� �=� �s�a�m�e� �I�D�)�
�
� � �-� �R�e�v�e�r�s�i�b�l�e� �f�o�r� �b�r�e�a�c�h� �i�n�v�e�s�t�i�g�a�t�i�o�n� �(�c�a�n� �d�e�c�o�d�e� �u�s�e�r�n�a�m�e�)�
�
� � �-� �S�t�r�u�c�t�u�r�e�:� ��7�7�6�c�6�1�� �(�w�l�a�t�e�r�)� �+� �p�l�a�t�f�o�r�m� �c�o�d�e� �+� �e�n�c�o�d�e�d� �u�s�e�r�n�a�m�e�
�
� � �-� �P�r�i�v�a�c�y�-�c�o�n�s�c�i�o�u�s�:� �u�s�e�r�n�a�m�e�s� �n�o�r�m�a�l�i�z�e�d�,� �n�o�t� �d�i�r�e�c�t�l�y� �r�e�a�d�a�b�l�e�
�
� � �-� �S�e�e� ��D�o�c�s�/�a�n�d�r�o�i�d�_�i�d�_�p�r�o�p�o�s�a�l�.�m�d�� �f�o�r� �f�u�l�l� �s�p�e�c�i�f�i�c�a�t�i�o�n�
�
�
�
�#�#� �L�i�c�e�n�s�e�
�
�
�
�M�I�T� �L�i�c�e�n�s�e� �-� �S�e�e� �L�I�C�E�N�S�E� �f�i�l�e� �f�o�r� �d�e�t�a�i�l�s�
�
�
�
�#�#� �C�o�n�t�r�i�b�u�t�i�n�g�
�
�
�
�C�o�n�t�r�i�b�u�t�i�o�n�s� �a�r�e� �w�e�l�c�o�m�e�!� �P�l�e�a�s�e�:�
�
�1�.� �F�o�r�k� �t�h�e� �r�e�p�o�s�i�t�o�r�y�
�
�2�.� �C�r�e�a�t�e� �a� �f�e�a�t�u�r�e� �b�r�a�n�c�h�
�
�3�.� �M�a�k�e� �y�o�u�r� �c�h�a�n�g�e�s�
�
�4�.� �S�u�b�m�i�t� �a� �p�u�l�l� �r�e�q�u�e�s�t�
�
�
�
�#�#� �S�u�p�p�o�r�t�
�
�
�
�F�o�r� �i�s�s�u�e�s�,� �q�u�e�s�t�i�o�n�s�,� �o�r� �f�e�a�t�u�r�e� �r�e�q�u�e�s�t�s�,� �p�l�e�a�s�e� �o�p�e�n� �a�n� �i�s�s�u�e� �o�n� �G�i�t�H�u�b�.�
�
�
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.