npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@cdmx/wappler_ac_s3_upload

v0.6.9

Published

App Connect module for S3 Upload.

Readme

��#�#�#�#� �M�a�i�n�t�a�i�n�e�d� �b�y�:� �R�o�n�e�y� �D�s�i�l�v�a� � � � �#�#� �C�u�s�t�o�m� �S�3� �U�p�l�o�a�d� �C�o�n�t�r�o�l� � �T�h�i�s� �i�s� �a� �c�u�s�t�o�m� �S�3� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �d�e�s�i�g�n�e�d� �t�o� �g�i�v�e� �m�o�r�e� �f�e�a�t�u�r�e�s� �t�o� �S�3� �A�C� �m�o�d�u�l�e� �w�h�e�n� �u�p�l�o�a�d�i�n�g� �f�i�l�e�s�.� �I�t� �i�n�c�l�u�d�e�s� �b�o�t�h� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �a�n�d� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t�s�.� � � � �#�#� �C�o�m�p�o�n�e�n�t�s� � � � �#�#�#� �1�.� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)� � �A� �c�o�m�p�o�n�e�n�t� �f�o�r� �u�p�l�o�a�d�i�n�g� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e�s� �w�i�t�h� �v�a�l�i�d�a�t�i�o�n� �a�n�d� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g�.� � � � �#�#�#� �2�.� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)� � �A� �c�o�m�p�o�n�e�n�t� �f�o�r� �u�p�l�o�a�d�i�n�g� �m�u�l�t�i�p�l�e� �f�i�l�e�s� �s�i�m�u�l�t�a�n�e�o�u�s�l�y� �w�i�t�h� �b�a�t�c�h� �v�a�l�i�d�a�t�i�o�n� �a�n�d� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g�.� � � � �#�#� �S�3� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �C�o�n�t�r�o�l� �P�r�o�p�e�r�t�i�e�s�:� � �P�r�o�p�e�r�t�i�e�s� �f�o�r� �c�o�n�f�i�g�u�r�i�n�g� �t�h�e� �b�e�h�a�v�i�o�r� �a�n�d� �a�p�p�e�a�r�a�n�c�e� �o�f� �t�h�e� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)�.� � � � �-� ��I�D��:� �I�d�e�n�t�i�f�i�e�r� �f�o�r� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.� � � � �-� ��C�l�a�s�s��:� �C�S�S� �c�l�a�s�s� �f�o�r� �s�t�y�l�i�n�g� �p�u�r�p�o�s�e�s�.� � � � �-� ��U�r�l��:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �(�P�O�S�T�)� �h�a�v�i�n�g� �p�u�t� �f�i�l�e� �f�r�o�m� �t�h�e� �c�u�s�t�o�m� �s�3� �u�p�l�o�a�d�.� � � � �-� ��I�n�p�u�t� �n�a�m�e��:� �I�n�p�u�t� �n�a�m�e� �f�o�r� �t�h�e� �i�n�p�u�t� �t�a�g� �a�n�d� �t�o� �s�e�n�d� �a�s� �p�o�s�t� �p�a�r�a�m�e�t�e�r� �n�a�m�e� �f�o�r� �t�h�e� �f�i�l�e�,� �d�e�f�a�u�l�t� �i�s� ��s�3�_�u�p�l�o�a�d��.� � � � �-� ��A�c�c�e�p�t��:� �A�l�l�o�w�e�d� �f�i�l�e� �t�y�p�e�s�/�e�x�t�e�n�s�i�o�n�s� �f�o�r� �u�p�l�o�a�d�.� � � � �-� ��V�a�l�i�d�a�t�i�o�n� �U�r�l��:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �t�o� �v�a�l�i�d�a�t�e� �f�i�l�e�,� �(�S�e�n�d�s� �t�h�e� �f�i�l�e� �i�n� �r�e�q�u�e�s�t�)�.�L�e�a�v�e� ��b�l�a�n�k�� �i�f� �y�o�u� �d�o�n�'�t� �w�a�n�t� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n�.� � � � �-� ��V�a�l�i�d�a�t�i�o�n� �M�e�s�s�a�g�e��:� �M�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �f�i�l�e� �t�y�p�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�.� � � � �-� ��F�i�l�e� �S�i�z�e� �L�i�m�i�t��:� �F�i�l�e� �s�i�z�e� �l�i�m�i�t� �i�n� �b�y�t�e�s�.� � � � �-� ��A�u�t�o� �U�p�l�o�a�d��:� �O�p�t�i�o�n� �t�o� �a�u�t�o�m�a�t�i�c�a�l�l�y� �u�p�l�o�a�d� �f�i�l�e�s� �a�f�t�e�r� �s�e�l�e�c�t�i�o�n�.� � � � �-� ��C�S�V� �O�p�t�i�o�n�s��:� �A�d�d�i�t�i�o�n�a�l� �p�r�o�p�e�r�t�i�e�s� �s�p�e�c�i�f�i�c�a�l�l�y� �f�o�r� �h�a�n�d�l�i�n�g� �C�S�V� �f�i�l�e�s�.� � � � �-� ��C�S�V� �R�o�w� �L�i�m�i�t��:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �r�o�w�s� �a�l�l�o�w�e�d� �i�n� �a� �C�S�V� �f�i�l�e�.� � � � �-� ��C�S�V� �L�i�m�i�t� �V�a�l�i�d�a�t�i�o�n��:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �t�h�e� �C�S�V� �r�o�w� �l�i�m�i�t� �i�s� �e�x�c�e�e�d�e�d�.� � � � �-� ��C�S�V� �N�o� �R�e�c�o�r�d�s� �V�a�l�i�d�a�t�i�o�n��:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �a� �C�S�V� �f�i�l�e� �h�a�s� �n�o� �r�e�c�o�r�d�s�.� � � � �#�#� �S�3� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �C�o�n�t�r�o�l� �P�r�o�p�e�r�t�i�e�s�:� � �P�r�o�p�e�r�t�i�e�s� �f�o�r� �c�o�n�f�i�g�u�r�i�n�g� �t�h�e� �b�e�h�a�v�i�o�r� �a�n�d� �a�p�p�e�a�r�a�n�c�e� �o�f� �t�h�e� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)�.� � � � � � �-� ��I�D��:� �I�d�e�n�t�i�f�i�e�r� �f�o�r� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.� � � � �-� ��C�l�a�s�s��:� �C�S�S� �c�l�a�s�s� �f�o�r� �s�t�y�l�i�n�g� �p�u�r�p�o�s�e�s�.� � � � �-� ��U�r�l��:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �(�P�O�S�T�)� �f�o�r� �h�a�n�d�l�i�n�g� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d�s�.� � � � �-� ��I�n�p�u�t� �n�a�m�e��:� �I�n�p�u�t� �n�a�m�e� �f�o�r� �t�h�e� �i�n�p�u�t� �t�a�g� �a�n�d� �t�o� �s�e�n�d� �a�s� �p�o�s�t� �p�a�r�a�m�e�t�e�r� �n�a�m�e� �f�o�r� �t�h�e� �f�i�l�e�s� �a�r�r�a�y�.� �M�a�k�e� �s�u�r�e� �y�o�u� �a�p�p�e�n�d� ��[�]�� �t�o� �t�h�e� �n�a�m�e� �(�d�e�f�a�u�l�t�:� ��s�3�_�u�p�l�o�a�d�[�]��)�.� � � � �-� ��A�c�c�e�p�t��:� �A�l�l�o�w�e�d� �f�i�l�e� �t�y�p�e�s�/�e�x�t�e�n�s�i�o�n�s� �f�o�r� �u�p�l�o�a�d�.� � � � �-� ��V�a�l�i�d�a�t�i�o�n� �U�r�l��:� �W�a�p�p�l�e�r� �A�P�I� �e�n�d�p�o�i�n�t� �t�o� �v�a�l�i�d�a�t�e� �f�i�l�e�s�.� �S�e�n�d�s� �a�l�l� �f�i�l�e�s� �i�n� �o�n�e� �r�e�q�u�e�s�t�.� �L�e�a�v�e� �b�l�a�n�k� �i�f� �y�o�u� �d�o�n�'�t� �w�a�n�t� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n�.� �E�x�p�e�c�t�s� ��v�a�l�i�d�a�t�e�d�F�i�l�e�s�� �i�n� �t�h�e� �r�e�s�p�o�n�s�e� �f�r�o�m� �t�h�e� �A�P�I�,� �w�h�i�c�h� �s�h�o�u�l�d� �b�e� �a�n� �a�r�r�a�y� �o�f� �o�b�j�e�c�t�s� �w�i�t�h� �t�h�e� �f�o�l�l�o�w�i�n�g� �s�t�r�u�c�t�u�r�e�:� � � � � � � � ��j�s�o�n� � � � � � �{� � � � � � � � �"�i�s�_�v�a�l�i�d�"�:� �t�r�u�e�,� � � � � � � � �"�m�e�s�s�a�g�e�"�:� �"�V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �h�e�r�e�"�,� � � � � � � � �"�f�i�l�e�D�a�t�a�"�:� �{� � � � � � � � � � �"�n�a�m�e�"�:� �"�f�i�l�e�n�a�m�e�.�c�s�v�"�,� � � � � � � � � � �"�s�h�a�2�5�6�"�:� �"�f�i�l�e�-�s�h�a�-�v�a�l�u�e�"� � � � � � � � �}� � � � � � �}� � � � � � �� � � � �-� ��V�a�l�i�d�a�t�i�o�n� �M�e�s�s�a�g�e��:� �M�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �f�i�l�e� �t�y�p�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s�.� � � � �-� ��F�i�l�e� �S�i�z�e� �L�i�m�i�t��:� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �s�i�z�e� �l�i�m�i�t� �i�n� �b�y�t�e�s�.� � � � �-� ��T�o�t�a�l� �S�i�z�e� �L�i�m�i�t��:� �T�o�t�a�l� �c�o�m�b�i�n�e�d� �s�i�z�e� �l�i�m�i�t� �f�o�r� �a�l�l� �f�i�l�e�s� �i�n� �b�y�t�e�s� �(�d�e�f�a�u�l�t�:� �1�0�M�B�)�.� � � � �-� ��T�o�t�a�l� �F�i�l�e�s� �L�i�m�i�t��:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �f�i�l�e�s� �t�h�a�t� �c�a�n� �b�e� �u�p�l�o�a�d�e�d� �a�t� �o�n�c�e� �(�d�e�f�a�u�l�t�:� �5�)�.� � � � �-� ��A�u�t�o� �U�p�l�o�a�d��:� �O�p�t�i�o�n� �t�o� �a�u�t�o�m�a�t�i�c�a�l�l�y� �u�p�l�o�a�d� �f�i�l�e�s� �a�f�t�e�r� �s�e�l�e�c�t�i�o�n�.� � � � �-� ��C�S�V� �O�p�t�i�o�n�s��:� �A�d�d�i�t�i�o�n�a�l� �p�r�o�p�e�r�t�i�e�s� �s�p�e�c�i�f�i�c�a�l�l�y� �f�o�r� �h�a�n�d�l�i�n�g� �C�S�V� �f�i�l�e�s�.� � � � �-� ��C�S�V� �R�o�w� �L�i�m�i�t��:� �M�a�x�i�m�u�m� �n�u�m�b�e�r� �o�f� �r�o�w�s� �a�l�l�o�w�e�d� �i�n� �a� �C�S�V� �f�i�l�e�.� � � � �-� ��C�S�V� �L�i�m�i�t� �V�a�l�i�d�a�t�i�o�n��:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �t�h�e� �C�S�V� �r�o�w� �l�i�m�i�t� �i�s� �e�x�c�e�e�d�e�d�.� � � � �-� ��C�S�V� �N�o� �R�e�c�o�r�d�s� �V�a�l�i�d�a�t�i�o�n��:� �V�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �d�i�s�p�l�a�y�e�d� �w�h�e�n� �a� �C�S�V� �f�i�l�e� �h�a�s� �n�o� �r�e�c�o�r�d�s�.� � � � �#�#� �A�c�t�i�o�n�s� � � � �#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �A�c�t�i�o�n�s� �(��c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d��)� � �-� ��A�b�o�r�t��:� �A�c�t�i�o�n� �t�o� �a�b�o�r�t� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s�.� � �-� ��R�e�s�e�t��:� �A�c�t�i�o�n� �t�o� �r�e�s�e�t� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l�.� � �-� ��S�e�l�e�c�t��:� �A�c�t�i�o�n� �t�o� �s�e�l�e�c�t� �a� �f�i�l�e� �f�o�r� �u�p�l�o�a�d�.� � �-� ��U�p�l�o�a�d��:� �A�c�t�i�o�n� �t�o� �i�n�i�t�i�a�t�e� �t�h�e� �f�i�l�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s�.� � � � �#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �A�c�t�i�o�n�s� �(��c�u�s�t�o�m�-�s�3�-�m�u�l�t�i�-�u�p�l�o�a�d��)� � �-� ��A�b�o�r�t��:� �A�c�t�i�o�n� �t�o� �a�b�o�r�t� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s� �f�o�r� �a�l�l� �f�i�l�e�s�.� � �-� ��R�e�s�e�t��:� �A�c�t�i�o�n� �t�o� �r�e�s�e�t� �t�h�e� �u�p�l�o�a�d� �c�o�n�t�r�o�l� �a�n�d� �c�l�e�a�r� �a�l�l� �s�e�l�e�c�t�e�d� �f�i�l�e�s�.� � �-� ��S�e�l�e�c�t��:� �A�c�t�i�o�n� �t�o� �o�p�e�n� �f�i�l�e� �s�e�l�e�c�t�i�o�n� �d�i�a�l�o�g� �f�o�r� �m�u�l�t�i�p�l�e� �f�i�l�e�s�.� � �-� ��R�e�m�o�v�e� �F�i�l�e��:� �A�c�t�i�o�n� �t�o� �r�e�m�o�v�e� �a� �s�p�e�c�i�f�i�c� �f�i�l�e� �f�r�o�m� �t�h�e� �u�p�l�o�a�d� �q�u�e�u�e� �b�y� �i�n�d�e�x�.� � �-� ��U�p�l�o�a�d��:� �A�c�t�i�o�n� �t�o� �i�n�i�t�i�a�t�e� �t�h�e� �u�p�l�o�a�d� �p�r�o�c�e�s�s� �f�o�r� �a�l�l� �s�e�l�e�c�t�e�d� �f�i�l�e�s�.� � � � �#�#� �D�a�t�a� �S�t�r�u�c�t�u�r�e� � � � �#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �D�a�t�a� � �T�h�e� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �p�r�o�v�i�d�e�s� �t�h�e� �f�o�l�l�o�w�i�n�g� �d�a�t�a� �s�t�r�u�c�t�u�r�e�:� � �-� ��f�i�l�e��:� �T�h�e� �s�e�l�e�c�t�e�d� �f�i�l�e� �o�b�j�e�c�t� � �-� ��d�a�t�a��:� �R�e�s�p�o�n�s�e� �d�a�t�a� �f�r�o�m� �t�h�e� �s�e�r�v�e�r� �a�f�t�e�r� �s�u�c�c�e�s�s�f�u�l� �u�p�l�o�a�d� � �-� ��d�a�t�a�U�r�l��:� �B�a�s�e�6�4� �d�a�t�a� �U�R�L� �o�f� �t�h�e� �s�e�l�e�c�t�e�d� �f�i�l�e� �f�o�r� �p�r�e�v�i�e�w� � �-� ��s�t�a�t�e��:� �U�p�l�o�a�d� �s�t�a�t�e� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:� � � � �-� ��i�d�l�e��:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �t�h�e� �c�o�m�p�o�n�e�n�t� �i�s� �i�d�l�e� � � � �-� ��r�e�a�d�y��:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �a� �f�i�l�e� �i�s� �s�e�l�e�c�t�e�d� �a�n�d� �r�e�a�d�y� �t�o� �u�p�l�o�a�d� � � � �-� ��u�p�l�o�a�d�i�n�g��:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �u�p�l�o�a�d� �i�s� �i�n� �p�r�o�g�r�e�s�s� � � � �-� ��d�o�n�e��:� �B�o�o�l�e�a�n� �i�n�d�i�c�a�t�i�n�g� �i�f� �u�p�l�o�a�d� �i�s� �c�o�m�p�l�e�t�e� � �-� ��u�p�l�o�a�d�P�r�o�g�r�e�s�s��:� �P�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:� � � � �-� ��p�o�s�i�t�i�o�n��:� �N�u�m�b�e�r� �o�f� �b�y�t�e�s� �u�p�l�o�a�d�e�d� � � � �-� ��t�o�t�a�l��:� �T�o�t�a�l� �f�i�l�e� �s�i�z�e� �i�n� �b�y�t�e�s� � � � �-� ��p�e�r�c�e�n�t��:� �U�p�l�o�a�d� �p�e�r�c�e�n�t�a�g�e� �(�0�-�1�0�0�)� � � � �#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �D�a�t�a� � �T�h�e� �m�u�l�t�i�p�l�e� �f�i�l�e� �u�p�l�o�a�d� �c�o�m�p�o�n�e�n�t� �p�r�o�v�i�d�e�s� �t�h�e� �f�o�l�l�o�w�i�n�g� �d�a�t�a� �s�t�r�u�c�t�u�r�e�:� � �-� ��f�i�l�e�s�D�a�t�a��:� �A�r�r�a�y� �o�f� �f�i�l�e� �o�b�j�e�c�t�s� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:� � � � �-� ��n�a�m�e��:� �F�i�l�e� �n�a�m�e� � � � �-� ��s�i�z�e��:� �F�i�l�e� �s�i�z�e� �i�n� �b�y�t�e�s� � � � �-� ��t�y�p�e��:� �M�I�M�E� �t�y�p�e� � � � �-� ��d�a�t�a�U�r�l��:� �B�a�s�e�6�4� �d�a�t�a� �U�R�L� �f�o�r� �p�r�e�v�i�e�w� � �-� ��f�i�l�e�_�s�i�z�e�_�l�i�m�i�t��:� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �s�i�z�e� �l�i�m�i�t� �(�n�u�m�b�e�r�)� � �-� ��t�o�t�a�l�_�s�i�z�e�_�l�i�m�i�t��:� �T�o�t�a�l� �f�i�l�e�s� �s�i�z�e� �l�i�m�i�t� �(�n�u�m�b�e�r�)� � �-� ��t�o�t�a�l�_�f�i�l�e�s�_�l�i�m�i�t��:� �T�o�t�a�l� �f�i�l�e�s� �l�i�m�i�t� �(�n�u�m�b�e�r�)� � �-� ��d�a�t�a��:� �R�e�s�p�o�n�s�e� �d�a�t�a� �f�r�o�m� �t�h�e� �s�e�r�v�e�r� �a�f�t�e�r� �s�u�c�c�e�s�s�f�u�l� �u�p�l�o�a�d� � �-� ��s�t�a�t�e��:� �U�p�l�o�a�d� �s�t�a�t�e� �o�b�j�e�c�t� �(�s�a�m�e� �a�s� �s�i�n�g�l�e� �f�i�l�e� �u�p�l�o�a�d�)� � �-� ��u�p�l�o�a�d�P�r�o�g�r�e�s�s��:� �E�n�h�a�n�c�e�d� �p�r�o�g�r�e�s�s� �t�r�a�c�k�i�n�g� �o�b�j�e�c�t� �w�i�t�h� �p�r�o�p�e�r�t�i�e�s�:� � � � �-� ��t�o�t�a�l�B�y�t�e�s��:� �T�o�t�a�l� �s�i�z�e� �o�f� �a�l�l� �f�i�l�e�s� �i�n� �b�y�t�e�s� � � � �-� ��u�p�l�o�a�d�e�d�B�y�t�e�s��:� �N�u�m�b�e�r� �o�f� �b�y�t�e�s� �u�p�l�o�a�d�e�d� �a�c�r�o�s�s� �a�l�l� �f�i�l�e�s� � � � �-� ��p�e�r�c�e�n�t��:� �O�v�e�r�a�l�l� �u�p�l�o�a�d� �p�e�r�c�e�n�t�a�g�e� �(�0�-�1�0�0�)� � � � �-� ��f�i�l�e�P�r�o�g�r�e�s�s��:� �A�r�r�a�y� �o�f� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e� �p�r�o�g�r�e�s�s� �o�b�j�e�c�t�s� � � � �#�#� �E�v�e�n�t�s� � � � �#�#�#� �S�i�n�g�l�e� �F�i�l�e� �U�p�l�o�a�d� �E�v�e�n�t�s� � �-� ��s�t�a�r�t��:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �b�e�g�i�n�s� � �-� ��d�o�n�e��:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s� �(�s�u�c�c�e�s�s� �o�r� �f�a�i�l�u�r�e�)� � �-� ��e�r�r�o�r��:� �F�i�r�e�d� �w�h�e�n� �a�n� �e�r�r�o�r� �o�c�c�u�r�s� � �-� ��i�n�v�a�l�i�d��:� �F�i�r�e�d� �w�h�e�n� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s� � �-� ��a�b�o�r�t��:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �i�s� �a�b�o�r�t�e�d� � �-� ��s�u�c�c�e�s�s��:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s� �s�u�c�c�e�s�s�f�u�l�l�y� � �-� ��u�p�l�o�a�d��:� �F�i�r�e�d� �d�u�r�i�n�g� �u�p�l�o�a�d� �p�r�o�g�r�e�s�s� �(�P�r�o�g�r�e�s�s�E�v�e�n�t�)� � � � �#�#�#� �M�u�l�t�i�p�l�e� �F�i�l�e� �U�p�l�o�a�d� �E�v�e�n�t�s� � �-� ��s�t�a�r�t��:� �F�i�r�e�d� �w�h�e�n� �b�a�t�c�h� �u�p�l�o�a�d� �b�e�g�i�n�s� � �-� ��d�o�n�e��:� �F�i�r�e�d� �w�h�e�n� �b�a�t�c�h� �u�p�l�o�a�d� �c�o�m�p�l�e�t�e�s� � �-� ��e�r�r�o�r��:� �F�i�r�e�d� �w�h�e�n� �a�n� �e�r�r�o�r� �o�c�c�u�r�s� �d�u�r�i�n�g� �u�p�l�o�a�d� � �-� ��i�n�v�a�l�i�d��:� �F�i�r�e�d� �w�h�e�n� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �f�a�i�l�s� � �-� ��a�b�o�r�t��:� �F�i�r�e�d� �w�h�e�n� �u�p�l�o�a�d� �i�s� �a�b�o�r�t�e�d� � �-� ��s�u�c�c�e�s�s��:� �F�i�r�e�d� �w�h�e�n� �a�l�l� �f�i�l�e�s� �u�p�l�o�a�d� �s�u�c�c�e�s�s�f�u�l�l�y� � �-� ��u�p�l�o�a�d��:� �F�i�r�e�d� �d�u�r�i�n�g� �u�p�l�o�a�d� �p�r�o�g�r�e�s�s� �(�P�r�o�g�r�e�s�s�E�v�e�n�t�)� � �-� ��u�p�d�a�t�e�d��:� �F�i�r�e�d� �w�h�e�n� �t�h�e� �f�i�l�e�s� �l�i�s�t� �i�s� �u�p�d�a�t�e�d� � � � � � �#�#�#� �C�S�V� �S�c�h�e�m�a� �V�a�l�i�d�a�t�i�o�n� � � � �T�h�e� �f�o�l�l�o�w�i�n�g� �J�a�v�a�S�c�r�i�p�t� �c�o�d�e� �s�n�i�p�p�e�t� �d�e�f�i�n�e�s� �t�h�e� �s�c�h�e�m�a� �u�s�e�d� �f�o�r� �v�a�l�i�d�a�t�i�n�g� �C�S�V� �f�i�l�e�s�.� �I�f� �u�s�i�n�g�,� �i�t� �n�e�e�d�s� �t�o� �b�e� �d�e�f�i�n�e�d� �o�n� �t�h�e� �p�a�g�e� �o�r� �a�c�c�e�s�s�i�b�l�e� �t�o� �t�h�e� �p�a�g�e�:� � � � ��h�t�m�l� � �<�s�c�r�i�p�t�>� � � � �f�u�n�c�t�i�o�n� �i�s�E�m�a�i�l�V�a�l�i�d�(�e�m�a�i�l�)� �{� � � � � � �/�/� �R�e�g�u�l�a�r� �e�x�p�r�e�s�s�i�o�n� �t�o� �v�a�l�i�d�a�t�e� �e�m�a�i�l� � � � � � �c�o�n�s�t� �e�m�a�i�l�R�e�g�e�x� �=� �/�^�[�^�\�s�@�]�+�@�[�^�\�s�@�]�+�\�.�[�^�\�s�@�]�+�$�/�;� � � � � � �r�e�t�u�r�n� �e�m�a�i�l�R�e�g�e�x�.�t�e�s�t�(�e�m�a�i�l�)�;� � � � �}� � � � � � �l�e�t� �v�a�l�_�c�s�v�_�s�c�h�e�m�a� �=� �{� � � � � � � � �h�e�a�d�e�r�s�:� �[� � � � � � � � � � �{� � � � � � � � � � � � �n�a�m�e�:� �'�F�i�r�s�t� �N�a�m�e�'�,� � � � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,� � � � � � � � � � � � �r�e�q�u�i�r�e�d�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{� � � � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �r�e�q�u�i�r�e�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n�� � � � � � � � � � � � �}� � � � � � � � � � �}�,� � � � � � � � � � �{� � � � � � � � � � � � �n�a�m�e�:� �'�L�a�s�t� �N�a�m�e�'�,� � � � � � � � � � � � �r�e�q�u�i�r�e�d�:� �t�r�u�e�,� � � � � � � � � � � � �r�e�q�u�i�r�e�d�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{� � � � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �r�e�q�u�i�r�e�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n�� � � � � � � � � � � � �}� � � � � � � � � � �}�,� � � � � � � � � � �{� � � � � � � � � � � � �n�a�m�e�:� �'�E�m�a�i�l�'�,� � � � � � � � � � � � �r�e�q�u�i�r�e�d�:� �f�a�l�s�e�,� � � � � � � � � � � � �v�a�l�i�d�a�t�e�:� �f�u�n�c�t�i�o�n� �(�e�m�a�i�l�)� �{� � � � � � � � � � � � � � �r�e�t�u�r�n� �i�s�E�m�a�i�l�V�a�l�i�d�(�e�m�a�i�l�)� � � � � � � � � � � � �}�,� � � � � � � � � � � � �v�a�l�i�d�a�t�e�E�r�r�o�r�:� �f�u�n�c�t�i�o�n� �(�h�e�a�d�e�r�N�a�m�e�,� �r�o�w�N�u�m�b�e�r�,� �c�o�l�u�m�n�N�u�m�b�e�r�)� �{� � � � � � � � � � � � � � �r�e�t�u�r�n� ��$�{�h�e�a�d�e�r�N�a�m�e�}� �i�s� �n�o�t� �v�a�l�i�d� �i�n� �t�h�e� �$�{�r�o�w�N�u�m�b�e�r�}� �r�o�w� �/� �$�{�c�o�l�u�m�n�N�u�m�b�e�r�}� �c�o�l�u�m�n�� � � � � � � � � � � � �}� � � � � � � � � � �}� � � � � � � � �]� � � � � � �}� � �<�/�s�c�r�i�p�t�>� � �� � � � �#�#�#� �E�x�c�e�l� �S�c�h�e�m�a� �V�a�l�i�d�a�t�i�o�n� � �D�e�f�i�n�i�t�i�o�n� �i�s� �s�i�m�i�l�a�r� �t�o� �c�s�v� �s�c�h�e�m�a� �j�u�s�t� �c�h�a�n�g�e� �t�h�e� �n�a�m�e� �o�f� �v�a�r�i�a�b�l�e� �t�o� �v�a�l�_�e�x�c�e�l�_�s�c�h�e�m�a�.� �A�l�s�o� �i�f� �y�o�u� �a�r�e� �c�h�e�c�k�i�n�g� �e�m�p�t�y� �v�a�l�u�e� �y�o�u� �c�o�m�i�n�g� �i�n� �c�o�l�u�m�n�s� �i�t� �w�i�l�l� �b�e� �a�n� �e�m�p�t�y� �s�t�r�i�n�g� � � � �#�#� �V�a�l�i�d�a�t�i�o�n� �a�n�d� �E�r�r�o�r� �H�a�n�d�l�i�n�g� � � � �#�#�#� �C�l�i�e�n�t�-�S�i�d�e� �V�a�l�i�d�a�t�i�o�n� � �B�o�t�h� �c�o�m�p�o�n�e�n�t�s� �p�e�r�f�o�r�m� �c�l�i�e�n�t�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n� �f�o�r�:� � �-� ��F�i�l�e� �T�y�p�e��:� �V�a�l�i�d�a�t�e�s� �a�g�a�i�n�s�t� �t�h�e� ��a�c�c�e�p�t�� �a�t�t�r�i�b�u�t�e� � �-� ��F�i�l�e� �S�i�z�e��:� �V�a�l�i�d�a�t�e�s� �i�n�d�i�v�i�d�u�a�l� �f�i�l�e�s� �a�g�a�i�n�s�t� ��f�i�l�e�_�s�i�z�e�_�l�i�m�i�t�� � �-� ��T�o�t�a�l� �S�i�z�e�� �(�M�u�l�t�i�-�u�p�l�o�a�d� �o�n�l�y�)�:� �V�a�l�i�d�a�t�e�s� �c�o�m�b�i�n�e�d� �s�i�z�e� �a�g�a�i�n�s�t� ��t�o�t�a�l�_�s�i�z�e�_�l�i�m�i�t�� � �-� ��F�i�l�e� �C�o�u�n�t�� �(�M�u�l�t�i�-�u�p�l�o�a�d� �o�n�l�y�)�:� �V�a�l�i�d�a�t�e�s� �n�u�m�b�e�r� �o�f� �f�i�l�e�s� �a�g�a�i�n�s�t� ��t�o�t�a�l�_�f�i�l�e�s�_�l�i�m�i�t�� � �-� ��C�S�V� �C�o�n�t�e�n�t��:� �V�a�l�i�d�a�t�e�s� �C�S�V� �s�t�r�u�c�t�u�r�e� �a�n�d� �r�o�w� �l�i�m�i�t�s� �f�o�r� �C�S�V� �f�i�l�e�s� � � � �#�#�#� �S�e�r�v�e�r�-�S�i�d�e� �V�a�l�i�d�a�t�i�o�n� � �I�f� ��v�a�l�_�u�r�l�� �i�s� �p�r�o�v�i�d�e�d�,� �f�i�l�e�s� �a�r�e� �s�e�n�t� �t�o� �t�h�e� �s�e�r�v�e�r� �f�o�r� �a�d�d�i�t�i�o�n�a�l� �v�a�l�i�d�a�t�i�o�n� �b�e�f�o�r�e� �u�p�l�o�a�d�.� � � � �#�#�#� �E�r�r�o�r� �M�e�s�s�a�g�e�s� � �V�a�l�i�d�a�t�i�o�n� �e�r�r�o�r� �m�e�s�s�a�g�e�s� �a�r�e� �d�i�s�p�l�a�y�e�d� �i�n� �a�n� �e�l�e�m�e�n�t� �w�i�t�h� �I�D� ��{�c�o�m�p�o�n�e�n�t�-�i�d�}�-�v�a�l�-�m�s�g��.� �F�o�r� �e�x�a�m�p�l�e�,� �i�f� �y�o�u�r� �c�o�m�p�o�n�e�n�t� �h�a�s� �I�D� �"�m�y�U�p�l�o�a�d�"�,� �c�r�e�a�t�e� �a� �d�i�v� �w�i�t�h� �I�D� �"�m�y�U�p�l�o�a�d�-�v�a�l�-�m�s�g�"� �t�o� �d�i�s�p�l�a�y� �v�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e�s�.� � � � ��h�t�m�l� � �<�d�i�v� �i�d�=�"�m�y�U�p�l�o�a�d�-�v�a�l�-�m�s�g�"� �s�t�y�l�e�=�"�d�i�s�p�l�a�y�:� �n�o�n�e�;�"�>�<�/�d�i�v�>� � �<�d�m�x�-�c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d� �i�d�=�"�m�y�U�p�l�o�a�d�"� �.�.�.�>�<�/�d�m�x�-�c�u�s�t�o�m�-�s�3�-�u�p�l�o�a�d�>� � �� � � � �#�#�#� �A�P�I� �R�e�s�p�o�n�s�e� �F�o�r�m�a�t� � �T�h�e� �s�e�r�v�e�r� �s�h�o�u�l�d� �r�e�t�u�r�n� �J�S�O�N� �r�e�s�p�o�n�s�e�s� �i�n� �t�h�e� �f�o�l�l�o�w�i�n�g� �f�o�r�m�a�t�:� � � � �#�#� �F�e�a�t�u�r�e�s� �C�o�m�p�a�r�i�s�o�n� � � � �|� �F�e�a�t�u�r�e� �|� �S�i�n�g�l�e� �U�p�l�o�a�d� �|� �M�u�l�t�i� �U�p�l�o�a�d� �|� � �|�-�-�-�-�-�-�-�-�-�|�-�-�-�-�-�-�-�-�-�-�-�-�-�-�-�|�-�-�-�-�-�-�-�-�-�-�-�-�-�-�|� � �|� �F�i�l�e� �S�e�l�e�c�t�i�o�n� �|� �S�i�n�g�l�e� �f�i�l�e� �|� �M�u�l�t�i�p�l�e� �f�i�l�e�s� �|� � �|� �D�r�a�g� �&� �D�r�o�p� �|� �' �|� �' �|� � �|� �P�r�o�g�r�e�s�s� �T�r�a�c�k�i�n�g� �|� �I�n�d�i�v�i�d�u�a�l� �f�i�l�e� �|� �B�a�t�c�h� �|� � �|� �F�i�l�e� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|� � �|� �C�S�V� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|� � �|� �F�i�l�e� �S�i�z�e� �L�i�m�i�t�s� �|� �I�n�d�i�v�i�d�u�a�l� �o�n�l�y� �|� �t�o�t�a�l� �|� � �|� �F�i�l�e� �C�o�u�n�t� �L�i�m�i�t�s� �|� �N�/�A� �|� �' �|� � �|� �R�e�m�o�v�e� �F�i�l�e�s� �|� �R�e�s�e�t� �o�n�l�y� �|� �I�n�d�i�v�i�d�u�a�l� �r�e�m�o�v�a�l� �|� � �|� �A�u�t�o� �U�p�l�o�a�d� �|� �' �|� �' �|� � �|� �S�e�r�v�e�r� �V�a�l�i�d�a�t�i�o�n� �|� �' �|� �' �|� � � � �#�#� �B�e�s�t� �P�r�a�c�t�i�c�e�s� � � � �1�.� ��A�l�w�a�y�s� �p�r�o�v�i�d�e� �v�a�l�i�d�a�t�i�o�n� �m�e�s�s�a�g�e� �e�l�e�m�e�n�t�s�� �w�i�t�h� �t�h�e� �c�o�r�r�e�c�t� �I�D� �p�a�t�t�e�r�n� �(��{�c�o�m�p�o�n�e�n�t�-�i�d�}�-�v�a�l�-�m�s�g��)� � �2�.� ��S�e�t� �a�p�p�r�o�p�r�i�a�t�e� �f�i�l�e� �s�i�z�e� �l�i�m�i�t�s�� �b�a�s�e�d� �o�n� �y�o�u�r� �s�e�r�v�e�r� �c�o�n�f�i�g�u�r�a�t�i�o�n� � �3�.� ��U�s�e� �s�e�r�v�e�r�-�s�i�d�e� �v�a�l�i�d�a�t�i�o�n�� �f�o�r� �c�r�i�t�i�c�a�l� �f�i�l�e� �v�a�l�i�d�a�t�i�o�n� �l�o�g�i�c� � �4�.� ��H�a�n�d�l�e� �e�v�e�n�t�s� �p�r�o�p�e�r�l�y�� �t�o� �p�r�o�v�i�d�e� �u�s�e�r� �f�e�e�d�b�a�c�k� �d�u�r�i�n�g� �u�p�l�o�a�d� � �5�.� ��T�e�s�t� �w�i�t�h� �v�a�r�i�o�u�s� �f�i�l�e� �t�y�p�e�s�� �t�o� �e�n�s�u�r�e� �a�c�c�e�p�t� �p�a�t�t�e�r�n�s� �w�o�r�k� �c�o�r�r�e�c�t�l�y� � �6�.� ��F�o�r� �m�u�l�t�i�-�u�p�l�o�a�d�,� �c�o�n�s�i�d�e�r� �U�X�� �w�h�e�n� �s�e�t�t�i�n�g� �f�i�l�e� �c�o�u�n�t� �a�n�d� �s�i�z�e� �l�i�m�i�t�s� � � � �#�#� �B�r�o�w�s�e�r� �C�o�m�p�a�t�i�b�i�l�i�t�y� � �-� �M�o�d�e�r�n� �b�r�o�w�s�e�r�s� �s�u�p�p�o�r�t�i�n�g� �H�T�M�L�5� �F�i�l�e� �A�P�I� � �-� �D�r�a�g� �a�n�d� �d�r�o�p� �f�u�n�c�t�i�o�n�a�l�i�t�y� �r�e�q�u�i�r�e�s� �m�o�d�e�r�n� �b�r�o�w�s�e�r� �s�u�p�p�o�r�t� � �-� �F�i�l�e�R�e�a�d�e�r� �A�P�I� �s�u�p�p�o�r�t� �r�e�q�u�i�r�e�d� �f�o�r� �f�i�l�e� �p�r�e�v�i�e�w�s� � �