403Webshell
Server IP : 157.22.201.140  /  Your IP : 216.73.216.74
Web Server : nginx/1.30.1
System : Linux mit.vincode.fvds.ru 6.8.0-111-generic #111-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 11 23:16:02 UTC 2026 x86_64
User : root ( 0)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/ansible/modules/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/ansible/modules/__pycache__/copy.cpython-312.pyc
�

1<�eB���$�ddlmZmZmZeZdZdZdZddl	Z	ddl
Z
ddlZddlZddl
ZddlZddlZddlZddlZddlZddlZddlmZmZddlmZddlmZdd	lmZdd
lmZdaGd�de �Z!d
�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)e*dk(re)�yy)�)�absolute_import�division�print_functiona
---
module: copy
version_added: historical
short_description: Copy files to remote locations
description:
    - The M(ansible.builtin.copy) module copies a file or a directory structure from the local or remote machine to a location on the remote machine.
      File system meta-information (permissions, ownership, etc.) may be set, even when the file or directory already exists on the target system.
      Some meta-information may be copied on request.
    - Get meta-information with the M(ansible.builtin.stat) module.
    - Set meta-information with the M(ansible.builtin.file) module.
    - Use the M(ansible.builtin.fetch) module to copy files from remote locations to the local box.
    - If you need variable interpolation in copied files, use the M(ansible.builtin.template) module.
      Using a variable with the O(content) parameter produces unpredictable results.
    - For Windows targets, use the M(ansible.windows.win_copy) module instead.
options:
  src:
    description:
    - Local path to a file to copy to the remote server.
    - This can be absolute or relative.
    - If path is a directory, it is copied recursively. In this case, if path ends
      with "/", only inside contents of that directory are copied to destination.
      Otherwise, if it does not end with "/", the directory itself with all contents
      is copied. This behavior is similar to the C(rsync) command line tool.
    type: path
  content:
    description:
    - When used instead of O(src), sets the contents of a file directly to the specified value.
    - Works only when O(dest) is a file. Creates the file if it does not exist.
    - For advanced formatting or if O(content) contains a variable, use the
      M(ansible.builtin.template) module.
    type: str
    version_added: '1.1'
  dest:
    description:
    - Remote absolute path where the file should be copied to.
    - If O(src) is a directory, this must be a directory too.
    - If O(dest) is a non-existent path and if either O(dest) ends with "/" or O(src) is a directory, O(dest) is created.
    - If O(dest) is a relative path, the starting directory is determined by the remote host.
    - If O(src) and O(dest) are files, the parent directory of O(dest) is not created and the task fails if it does not already exist.
    type: path
    required: yes
  backup:
    description:
    - Create a backup file including the timestamp information so you can get the original file back if you somehow clobbered it incorrectly.
    type: bool
    default: no
    version_added: '0.7'
  force:
    description:
    - Influence whether the remote file must always be replaced.
    - If V(true), the remote file will be replaced when contents are different than the source.
    - If V(false), the file will only be transferred if the destination does not exist.
    type: bool
    default: yes
    version_added: '1.1'
  mode:
    description:
    - The permissions of the destination file or directory.
    - For those used to C(/usr/bin/chmod) remember that modes are actually octal numbers.
      You must either add a leading zero so that Ansible's YAML parser knows it is an octal number
      (like V(0644) or V(01777)) or quote it (like V('644') or V('1777')) so Ansible receives a string
      and can do its own conversion from string into number. Giving Ansible a number without following
      one of these rules will end up with a decimal number which will have unexpected results.
    - As of Ansible 1.8, the mode may be specified as a symbolic mode (for example, V(u+rwx) or V(u=rw,g=r,o=r)).
    - As of Ansible 2.3, the mode may also be the special string V(preserve).
    - V(preserve) means that the file will be given the same permissions as the source file.
    - When doing a recursive copy, see also O(directory_mode).
    - If O(mode) is not specified and the destination file B(does not) exist, the default C(umask) on the system will be used
      when setting the mode for the newly created file.
    - If O(mode) is not specified and the destination file B(does) exist, the mode of the existing file will be used.
    - Specifying O(mode) is the best way to ensure files are created with the correct permissions.
      See CVE-2020-1736 for further details.
  directory_mode:
    description:
    - Set the access permissions of newly created directories to the given mode.
      Permissions on existing directories do not change.
    - See O(mode) for the syntax of accepted values.
    - The target system's defaults determine permissions when this parameter is not set.
    type: raw
    version_added: '1.5'
  remote_src:
    description:
    - Influence whether O(src) needs to be transferred or already is present remotely.
    - If V(false), it will search for O(src) on the controller node.
    - If V(true) it will search for O(src) on the managed (remote) node.
    - O(remote_src) supports recursive copying as of version 2.8.
    - O(remote_src) only works with O(mode=preserve) as of version 2.6.
    - Autodecryption of files does not work when O(remote_src=yes).
    type: bool
    default: no
    version_added: '2.0'
  follow:
    description:
    - This flag indicates that filesystem links in the destination, if they exist, should be followed.
    type: bool
    default: no
    version_added: '1.8'
  local_follow:
    description:
    - This flag indicates that filesystem links in the source tree, if they exist, should be followed.
    type: bool
    default: yes
    version_added: '2.4'
  checksum:
    description:
    - SHA1 checksum of the file being transferred.
    - Used to validate that the copy of the file was successful.
    - If this is not provided, ansible will use the local calculated checksum of the src file.
    type: str
    version_added: '2.5'
extends_documentation_fragment:
    - decrypt
    - files
    - validate
    - action_common_attributes
    - action_common_attributes.files
    - action_common_attributes.flow
notes:
    - The M(ansible.builtin.copy) module recursively copy facility does not scale to lots (>hundreds) of files.
seealso:
    - module: ansible.builtin.assemble
    - module: ansible.builtin.fetch
    - module: ansible.builtin.file
    - module: ansible.builtin.template
    - module: ansible.posix.synchronize
    - module: ansible.windows.win_copy
author:
    - Ansible Core Team
    - Michael DeHaan
attributes:
  action:
    support: full
  async:
    support: none
  bypass_host_loop:
    support: none
  check_mode:
    support: full
  diff_mode:
    support: full
  platform:
    platforms: posix
  safe_file_operations:
      support: full
  vault:
    support: full
    version_added: '2.2'
a�
- name: Copy file with owner and permissions
  ansible.builtin.copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: '0644'

- name: Copy file with owner and permission, using symbolic representation
  ansible.builtin.copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: u=rw,g=r,o=r

- name: Another symbolic mode example, adding some permissions and removing others
  ansible.builtin.copy:
    src: /srv/myfiles/foo.conf
    dest: /etc/foo.conf
    owner: foo
    group: foo
    mode: u+rw,g-wx,o-rwx

- name: Copy a new "ntp.conf" file into place, backing up the original if it differs from the copied version
  ansible.builtin.copy:
    src: /mine/ntp.conf
    dest: /etc/ntp.conf
    owner: root
    group: root
    mode: '0644'
    backup: yes

- name: Copy a new "sudoers" file into place, after passing validation with visudo
  ansible.builtin.copy:
    src: /mine/sudoers
    dest: /etc/sudoers
    validate: /usr/sbin/visudo -csf %s

- name: Copy a "sudoers" file on the remote machine for editing
  ansible.builtin.copy:
    src: /etc/sudoers
    dest: /etc/sudoers.edit
    remote_src: yes
    validate: /usr/sbin/visudo -csf %s

- name: Copy using inline content
  ansible.builtin.copy:
    content: '# This file was moved to /etc/other.conf'
    dest: /etc/mine.conf

- name: If follow=yes, /path/to/file will be overwritten by contents of foo.conf
  ansible.builtin.copy:
    src: /etc/foo.conf
    dest: /path/to/link  # link to /path/to/file
    follow: yes

- name: If follow=no, /path/to/link will become a file and be overwritten by contents of foo.conf
  ansible.builtin.copy:
    src: /etc/foo.conf
    dest: /path/to/link  # link to /path/to/file
    follow: no
a;
dest:
    description: Destination file/path.
    returned: success
    type: str
    sample: /path/to/file.txt
src:
    description: Source file used for the copy on the target machine.
    returned: changed
    type: str
    sample: /home/httpd/.ansible/tmp/ansible-tmp-1423796390.97-147729857856000/source
md5sum:
    description: MD5 checksum of the file after running copy.
    returned: when supported
    type: str
    sample: 2a5aeecc61dc98c4d780b14b330e3282
checksum:
    description: SHA1 checksum of the file after running copy.
    returned: success
    type: str
    sample: 6e642bb8dd5c2e027bf21dd923337cbb4214f827
backup_file:
    description: Name of backup file created.
    returned: changed and if backup=yes
    type: str
    sample: /path/to/file.txt.2015-02-12@22:09~
gid:
    description: Group id of the file, after execution.
    returned: success
    type: int
    sample: 100
group:
    description: Group of the file, after execution.
    returned: success
    type: str
    sample: httpd
owner:
    description: Owner of the file, after execution.
    returned: success
    type: str
    sample: httpd
uid:
    description: Owner id of the file, after execution.
    returned: success
    type: int
    sample: 100
mode:
    description: Permissions of the target, after execution.
    returned: success
    type: str
    sample: "0644"
size:
    description: Size of the target, after execution.
    returned: success
    type: int
    sample: 1220
state:
    description: State of the target, after execution.
    returned: success
    type: str
    sample: file
N)�to_bytes�	to_native)�
AnsibleModule)�get_bin_path)�get_best_parsable_locale)�PY3c��eZdZd�Zy)�AnsibleModuleErrorc��||_y)N��results)�selfrs  �6/usr/lib/python3/dist-packages/ansible/modules/copy.py�__init__zAnsibleModuleError.__init__9s	�����N)�__name__�
__module__�__qualname__r�rrr
r
8s��rr
c�*�td�}|d|g}|D�cgc]
}t|���}}tt�}tj	|t|||����\}}}|dk7r+t
djdj|�||���ycc}w)N�setfaclz-b)�LANG�LC_ALL�LC_MESSAGES)�environ_updaterz1Error running "{0}": stdout: "{1}"; stderr: "{2}"� )	r	rr
�module�run_command�dict�RuntimeError�format�join)	�pathr�acl_command�x�
b_acl_command�locale�rc�out�errs	         r�clear_faclsr.As����9�%�G��D�$�'�K�*5�6�Q�X�a�[�6�M�6�
%�f�
-�F��%�%�m�D�f�]c�qw�Dx�%�y�L�B��S�	�Q�w��N�U�U�VY�V^�V^�_l�Vm�or�tw�x�y�y���7s�Bc�*�tjj|�\}}t|d��}|dk(rd|gfStjj	|�s"|dk(rtddi���t
|�\}}n||gfS|j|�||fS)	zi
    Return the first pre-existing directory and a list of the new directories that will be created.
    �surrogate_or_strict��errors��.�/�msgz0The '/' directory doesn't exist on this machine.r)�osr&�splitr�existsr
�split_pre_existing_dir�append)�dirname�head�tail�b_head�pre_existing_dir�new_directory_lists      rr:r:Ls��������w�'�J�D�$�
�d�#8�
9�F��r�z��d�V�}��
�7�7�>�>�&�!��3�;�$�e�5g�-h�i�i�1G��1M�.�	�-��t�f�~�����d�#��0�1�1rc��|rUtjj||jd��}||d<|j	||�}t|||||�}|S)z]
    Walk the new directories list and make sure that permissions are as we would expect
    rr&)r7r&r%�pop�set_fs_attributes_if_different�&adjust_recursive_directory_permissions)r@rAr �directory_args�changed�working_dirs      rrErE^s_��
��g�g�l�l�#3�5G�5K�5K�A�5N�O��!,��v���7�7���P��8��FX�Z`�bp�ry�z���Nrc��d}|jd}|jd}|���|js�tj|�D]�\}}}|j	||d�}|dur|}|D�	cgc]"}	tj
j
||	���$c}	D]}
|j	|
|d�}|dus�|}�|D�cgc]"}tj
j
||���$c}D]}|j	||d�}|dus�|}����ntj|�j}
tj|�D]�\}}}tj|�j|
k7}|dur|}|D�	cgc]"}	tj
j
||	���$c}	D]+}
tj|
�j|
k7}|dus�*|}�-|D�cgc]"}tj
j
||���$c}D]+}tj|�j|
k7}|dus�*|}�-��|���|js�tj|�D]�\}}}|j||d�}|dur|}|D�	cgc]"}	tj
j
||	���$c}	D]}
|j|
|d�}|dus�|}�|D�cgc]"}tj
j
||���$c}D]}|j||d�}|dus�|}���|Stj|�j}tj|�D]�\}}}tj|�j |k7}|dur|}|D�	cgc]"}	tj
j
||	���$c}	D]+}
tj|
�j |k7}|dus�*|}�-|D�cgc]"}tj
j
||���$c}D]+}tj|�j |k7}|dus�*|}�-��|Scc}	wcc}wcc}	wcc}wcc}	wcc}wcc}	wcc}w)NF�owner�groupT)�params�
check_moder7�walk�set_owner_if_differentr&r%�pwd�getpwnam�pw_uid�stat�st_uid�set_group_if_different�grp�getgrnam�gr_gid�st_gid)r&r rGrJrK�dirpath�dirnames�	filenames�
owner_changed�d�dir�f�file�uid�
group_changed�gids                r�chown_recursivereks$���G��M�M�'�"�E��M�M�'�"�E���� � �02����
�
0�,���9� &� =� =�g�u�e� T�
� �D�(�+�G�>F�G��B�G�G�L�L��!�4�G�0�C�$*�$A�$A�#�u�e�$T�M�$��,�"/��0�@I�I�!�R�W�W�\�\�'�1�5�I�0�D�$*�$A�$A�$��u�$U�M�$��,�"/��0�
0��,�,�u�%�,�,�C�02����
�
0�,���9�!#����!1�!8�!8�C�!?�
� �D�(�+�G�>F�G��B�G�G�L�L��!�4�G�0�C�%'�W�W�S�\�%8�%8�C�%?�M�$��,�"/��0�@I�I�!�R�W�W�\�\�'�1�5�I�0�D�%'�W�W�T�]�%9�%9�S�%@�M�$��,�"/��0�
0�
��� � �02����
�
0�,���9� &� =� =�g�u�e� T�
� �D�(�+�G�>F�G��B�G�G�L�L��!�4�G�0�C�$*�$A�$A�#�u�e�$T�M�$��,�"/��0�@I�I�!�R�W�W�\�\�'�1�5�I�0�D�$*�$A�$A�$��u�$U�M�$��,�"/��0�
0�6�N��,�,�u�%�,�,�C�02����
�
0�,���9�!#����!1�!8�!8�C�!?�
� �D�(�+�G�>F�G��B�G�G�L�L��!�4�G�0�C�%'�W�W�S�\�%8�%8�C�%?�M�$��,�"/��0�@I�I�!�R�W�W�\�\�'�1�5�I�0�D�%'�W�W�T�]�%9�%9�S�%@�M�$��,�"/��0�
0��N��gH��J��H��J��H��J��H��Js0�)'P!�6'P&�*'P+�'P0�('P5�5'P:�)'P?�'Qc���d}|jd}|jd}|jd}tj||�j}t	|�rd}|j
�s
|D�]}tjj||�}	tjj||�}
t|	d��}t|
d��}tjj|�r0|dur,t
j|�}
t
j|
|�n,tj||�tj||�|�|j!||d�|�|j#||d�d}��|S)zKCopy files that are different between `src` directory and `dest` directory.FrJrK�local_followTr0r1)rL�filecmp�dircmp�
diff_files�lenrMr7r&r%r�islink�readlink�symlink�shutil�copyfile�copymoderOrU)�src�destr rGrJrKrgrj�item�
src_item_path�dest_item_path�b_src_item_path�b_dest_item_path�linktos              r�copy_diff_filesrz�s@���G��M�M�'�"�E��M�M�'�"�E��=�=��0�L�����T�*�5�5�J�
�:��������	�D��G�G�L�L��d�3�M��W�W�\�\�$��5�N�&�}�=R�S�O�'��?T�U���w�w�~�~�o�.�<�5�3H����_�5���
�
�6�#3�4�����1A�B�����1A�B�� ��-�-�.>��u�M�� ��-�-�.>��u�M��G�!	�"�Nrc��d}|jd}|jd}|jd}tj||�j}t	|�rd}|j
�s|D�]}tjj||�}	tjj||�}
t|	d��}t|
d��}tjj|�rHtjj|�r)|dur%tj|||��t||�tjj|�rNtjj|�r/|dur+t
j|�}
t
j |
|�tjj|�rctjj#|�rD|dur@tj$||�|�|j'||d�|�|j)||d�tjj|�rNtjj#|�r/|dur+t
j|�}
t
j |
|�tjj|�sutjj#|�rVtj$||�tj*||�|�|j'||d�|�|j)||d�tjj|�sDtjj|�r%tj|||��t||�d}��|S)	zFCopy files that exist in `src` directory only to the `dest` directory.FrJrKrgTr0r1��symlinks)rLrhri�	left_onlyrkrMr7r&r%rrl�isdirro�copytreerermrn�isfilerprOrUrq)rrrsr rGrJrKrgr~rtrurvrwrxrys              r�copy_left_onlyr��s����G��M�M�'�"�E��M�M�'�"�E��=�=��0�L����s�D�)�3�3�I�
�9�~�������&	�D��G�G�L�L��d�3�M��W�W�\�\�$��5�N�&�}�=R�S�O�'��?T�U���w�w�~�~�o�.�2�7�7�=�=��3Q�Vb�fj�Vj�����1A�P\�L\�]�� 0�&�9��w�w�~�~�o�.�2�7�7�=�=��3Q�Vb�fk�Vk����_�5���
�
�6�#3�4��w�w�~�~�o�.�2�7�7�>�>�/�3R�Wc�gk�Wk�����1A�B��$��1�1�2B�E�5�Q��$��1�1�2B�E�5�Q��w�w�~�~�o�.�2�7�7�>�>�/�3R�Wc�gl�Wl����_�5���
�
�6�#3�4��7�7�>�>�/�2�r�w�w�~�~�o�7V�����1A�B�����1A�B��$��1�1�2B�E�5�Q��$��1�1�2B�E�5�Q��7�7�>�>�/�2�r�w�w�}�}�_�7U�����1A�P\�L\�]�� 0�&�9��G�M&	�N�Nrc���d}tj||�j}|D]�}tjj||�}tjj||�}t
|d��}t
|d��}	t||	|�}
t||	|�}|
s|rd}ttjj||�tjj||�|�xs|}��|S)NFr0r1T)
rhri�common_dirsr7r&r%rrzr��copy_common_dirs)rrrsr rGr�rtrurvrwrx�diff_files_changed�left_only_changeds            rr�r�s����G��.�.��d�+�7�7�K��i�������S�$�/�
������d�D�1��"�=�9N�O��#�N�;P�Q��,�_�>N�PV�W��*�?�<L�f�U���!2��G�#�2�7�7�<�<��T�#:�B�G�G�L�L��t�<T�V\�]�h�ah��i��Nrc�$�tttd��td��tdd��tdd��tdd�	�tdd�	�td��td
��td��td��td��tdd�	���dd��atjd
}t	|d��}tjd}t
jj|vr*djt
jj|�}t	|d��}tjd}tjd}tjjdd�}tjjdd�}tjd}tjd}	tjd}
tjd}tjd}tjd}
tjd}t
jj|�stjd|z��tj|t
j�stjd|z��tjdd k(rFd!tjtj|�j �ztjd<tjd}
d}d}d}d}t
jj#|�r-	tj%|�}	tj/|�}nB|
r@t
jj3|�s!tjd#t-|�z�|r||k7rtjd$||�%�|j5t
j��r!|r t
jj7||�}t	|d��}t
jj9|�}t	|d��}t
jj|�s�	t;|�\}}tjBrtjEd(|zd|�)�tjF|�d}tjItj�}tjd*}|�||d<nd|d<tKt||�t
jj3|�rPt
jjM|�}|r|}t
jj7||�}t	|d��}t
jj|�r�t
jjO|�r.|r,t
jjQ|�}t-|d��}|stjEd+||d�,�tj|t
j�r�t
jj#|�r�tj%|�}n�t
jjt
jj9|��si	tjt
jj9|��tjd/t
jj9|�z��tjt
jj9|�t
jT�sItjd0s6tjd1t
jj9|�z��d}||k7s t
jjO|��rVtjB�sC	|r4t
jj|�rtjW|�}t
jjO|�r/tjX|�t[|d2�j]�|r�|
�tj_||
d�|�tja||d�|�tjc||d�d3|vrtjd4|z��tje||z�\}}}|d5k7rtjd6|||�7�|}|
r�t
jj#|�rctgjht
jj9|��8�\} }tkjl||�	tkjn||�ttr(twt
d:�r	d;tjx|�v}!tj}||tjd0�<�ttr7twt
d:�r'tj��d=k(r|
s!r	t�|�d}|���|���|
�r�t
jj3tjd
��r�t	tjd
d��}t	tjdd��}|j5t
jj�r}t
jj3tjd�rMt�||t�}"t�||t�}#t�||t�}$t�|t�}%|"s|#s|$s|%rd}|j5t
jj�r�t
jjtjd�s�t	t
jjM|�d��}&t	t
jj7||&�d��}t	t
jj7tjd
dC�d��}tjBstkj�|||	�D�t�|t�d}|j5t
jj��s�t
jj3tjd��r�t	t
jjM|�d��}&t	t
jj7||&�d��}t	t
jj7tjd
dC�d��}tjBsJt
jj|�s+tkj�|||	�D�d}t�|t�tjBr!t
jj|�sd}t
jj|�rMt�||t�}"t�||t�}#t�||t�}$t�|t�}%|"s|#s|$s|%rd}|j5t
jj��s�t
jjtjd��s\t	t
jjMtjd
�d��}&t	t
jj7||&�d��}tjBs�t
jj|�s�tjF|�d}t	t
jj7tjd
dC�d��}t�||t�}"t�||t�}#t�||t�}$t�|t�}%tjBr!t
jj|�sd}t|||||�E�}'|r||'dF<tjItj|�G�}(tj�|(|'dH�|'dH<tjDdIi|'��y#t&t(f$r,}tj+d"t-|�z�Yd}~�
�3d}~wwxYw#t0$rY���wxYw#t<$rP}|j>d&xxd'j|�z
cc<tjdIi|j@��Yd}~��~d}~wwxYw#t&$r\}d-t-|�jS�vr6tjd.t
jj9|�z��Yd}~�
��d}~wwxYw#t&$r\}|jptpjrk(r3|
d k(r.tj+d9jt-|���n�Yd}~��Qd}~wwxYw#tz$r
}d}!Yd}~��<d}~wwxYw#t0$r}d>t-|�vrn�Yd}~���d}~wt�$r}d?t-|�vrn�Yd}~��d}~wwxYw#t(t&f$r3tjd@|�dA|��t�j���B�Y��fwxYw)JNr&)�type�strT)r��no_log)r��required�boolF)r��default�raw)rr�_original_basename�contentrs�backup�force�validate�directory_mode�
remote_srcrg�checksum�follow)�
argument_spec�add_file_common_args�supports_check_moderrr0r1rsz.{0}{1}r�r�r�r�r�rg�moderJrKr�r�zSource %s not found)r6zSource %s not readable�preservez0%03oz5Unable to calculate src checksum, assuming change: %sz+Cannot copy invalid source '%s': not a filezBCopied file does not match the expected checksum. Transfer failed.)r6r��expected_checksumr6z Could not copy to {0}z"dest directory %s would be created)r6rGrrr�zfile already exists)r6rrrsrGzpermission deniedz*Destination directory %s is not accessiblez'Destination directory %s does not exist�
unsafe_writeszDestination %s not writable�wz%szvalidate must contain %%s: %srzfailed to validate)r6�exit_status�stdout�stderr)r_zUnable to copy stats {0}�	listxattrzsystem.posix_acl_access)r��LinuxrzOperation not supportedzfailed to copy: z to )r6�	tracebackr3r|)rsrr�md5sumr�rG�backup_file)r&rGr)Krr"r rLrr7r&�sepr$�getr9�	fail_json�access�R_OKrS�S_IMODE�st_moder��sha1�OSError�IOError�warnr�md5�
ValueErrorr�endswithr%r<r:r
�resultrrM�	exit_json�makedirs�load_file_common_argumentsrE�basenamerl�realpath�lower�W_OK�backup_local�unlink�open�close�set_mode_if_differentrOrUr!�tempfile�mkstemprorp�copystat�errno�ENOSYSr�hasattrr��	Exception�atomic_move�platform�systemr.r#r��
format_excrzr�r�rer�rD))rr�b_srcrs�b_destr�r�r�r�r�rgr�rJrKr�r�rG�
checksum_dest�checksum_src�
md5sum_src�er<�	b_dirnamer@rArFr�r�r�r+r,r-�b_mysrc�dummy�src_has_aclsr�r��common_dirs_changed�owner_group_changed�
b_basename�res_args�	file_argss)                                         r�mainr�sg
�����&�!�#��/��e�D�1��6�D�1��V�U�3��F�D�1��u�%��U�+���(��6�*��u�%��V�U�3�

�"� �#�F�(�-�-��
�C��S�!6�7�E��=�=�� �D�	�w�w�{�{�$����������T�2��
�d�#8�
9�F�
�]�]�8�
$�F��M�M�'�"�E����*�*�+?��F���}�}� � ��T�2�H�
�]�]�8�
$�F��=�=��0�L��=�=�� �D��M�M�'�"�E��M�M�'�"�E����|�,�J��}�}�Z�(�H�
�7�7�>�>�%� ����2�c�:��;�
�9�9�U�B�G�G�$����5��=��>��}�}�V��
�*� '�$�,�,�r�w�w�u�~�7M�7M�*N� N��
�
�f���=�=�� �D��G��M��L��J�	�w�w�~�~�c��	`�!�;�;�s�+�L�	����C��J�
�B�G�G�M�M�#�.����F��SV��W�X��L�H�,����T�!�&�	�	
��}�}�R�V�V����7�7�<�<��&8�9�D��$�'<�=���'�'�/�/�$�'���W�-B�C�	��w�w�~�~�i�(�
.�9O�PW�9X�6�!�#5�
� � �� � �%I�G�%S�]a�gj� �k��K�K�	�"��G�#�>�>�v�}�}�M�N�#�]�]�+;�<�N��)�)7��v�&�)-��v�&�2�3C�EW�Y_�ao�qx�y�	�w�w�}�}�V���7�7�#�#�C�(���)�H��w�w�|�|�D�(�+���$�'<�=��	�w�w�~�~�f��
�7�7�>�>�&�!�f��W�W�%�%�f�-�F��V�,A�B�D�����!6�C�d�TY��Z�
�9�9�V�R�W�W�%�"�'�'�.�.��*@�"�K�K��-�M��w�w�~�~�b�g�g�o�o�f�5�6�
q�
���������/�0�
���!J�b�g�g�o�o�^b�Nc�!d��e�
�9�9�R�W�W�_�_�V�,�b�g�g�6�v�}�}�_�?]����:�b�g�g�o�o�d�>S�T��U��K��}�$������v�(>�� � �W
q���w�w�~�~�f�-�&,�&9�&9�$�&?���7�7�>�>�&�)��I�I�f�%����%�+�+�-���'��4�4�S�$��F��(��5�5�c�5�%�H��(��5�5�c�5�%�H��8�+��(�(�-L�PX�-Y�(�Z�%+�%7�%7��3��%G�N�R��c��Q�w��(�(�-A�r�Z]�fi�(�j����"�'�'�.�.��"7�%-�%5�%5�"�'�'�/�/�&�:Q�%R�N�E�7��O�O�E�7�3�"�����w�7��7�2�{�3�,�'@�B�L�L�QT�DU�'U���"�"�7�D��
�
�o�@^�"�_��7�2�{�3����8I�W�8T�]g� $�
&�'��-�$����
� 5��"�'�'�-�-��
�
�e�(<�=��V�]�]�5�1�:O�P�E��f�m�m�F�3�<Q�R�F��|�|�B�G�G�K�K�(�R�W�W�]�]�6�=�=��;P�-Q�%4�U�F�F�%K�"�$2�5�&�&�$I�!�&6�u�f�f�&M�#�&5�f�f�&E�#�%�):�>Q�Uh�"�G��|�|�B�G�G�K�K�(�������
�
�f�@U�1V�%�b�g�g�&6�&6�s�&;�DY�Z�
�!�"�'�'�,�,�v�z�"B�K`�a�� ������f�m�m�E�.B�B�!G�Pe�f���(�(��O�O�E�6��<L�M���f�-����<�<������,������v�}�}�V�?T�1U�%�b�g�g�&6�&6�s�&;�DY�Z�
�!�"�'�'�,�,�v�z�"B�K`�a�� ������f�m�m�E�.B�B�!G�Pe�f���(�(�������1G��O�O�E�6��<L�M�"�G�#�D�&�1��$�$�R�W�W�^�^�F�-C�"�G��7�7�>�>�&�)�)8����)O�&�(6�u�f�f�(M�%�*:�5�&�&�*Q�'�*9�&�&�*I�'�)�->�BU�Yl�"&���<�<������,�R�W�W�^�^�F�M�M�RX�DY�5Z�%�b�g�g�&6�&6�v�}�}�U�7K�&L�Uj�k�
�!�"�'�'�,�,�v�z�"B�K`�a���(�(�������1G��K�K��'�"�G�$�R�W�W�\�\�&�-�-��2F��%K�Ti�j�E�)8����)O�&�(6�u�f�f�(M�%�*:�5�&�&�*Q�'�*9�&�&�*I�'��$�$�R�W�W�^�^�F�-C�"�G��
�s�:��g��H��"-�����1�1�&�-�-�d�1�K�I� �?�?�	�8�T]�K^�_�H�Y��
��� �x� ��Q��!�	`��K�K�O�R[�\]�R^�^�_�_��	`��
�	��	��,&�
.������#;�#B�#B�4�#H�H��� � �-�1�9�9�-�-��
.��N�
q�&�)�A�,�*<�*<�*>�>��$�$�)U�Y[�Y`�Y`�Yh�Yh�im�Yn�)o�$�p���
q��V#�"��9�9����4���9K�"�K�K�(B�(I�(I�)�TY�JZ�([�\�!�]��"��%�,�'+���,��< *�&�(�I�a�L�8�!%� %�!%�� ,�&�8�I�a�L�H� $� %�!%��	&���W�%�
q�� � �3��%M�Yb�Ym�Ym�Yo� �p�
q�sC�A@0�4AA.�AA>�82AC�#FAH
�;AE�AH
�(AF*�?AAH
�AG�@0AA+�@?!AA&�A&AA+�A.	AA;�A:AA;�A>	AC�BAAC�CAC�C	AD?�C#AAD:�D:AD?�E	AF'�EAAF"�FAH
�F"AF'�F'AH
�F*	AG�F3AF;�F5AH
�F;AG�GAH
�G	AH�GAG!�GAH
�G!AH�G-AH�G<AH
�HAH�HAH
�H
>AI�IAI�__main__)+�
__future__rrrr��
__metaclass__�
DOCUMENTATION�EXAMPLES�RETURNr�rhrVr7�os.pathr�rProrSr�r��+ansible.module_utils.common.text.convertersrr�ansible.module_utils.basicr�#ansible.module_utils.common.processr	�"ansible.module_utils.common.localer
�ansible.module_utils.sixrr r�r
r.r:rErerzr�r�r�rrrr�<module>r�s���A�@��
�T�
�l?��B=
��~
��
�	���
�
����K�4�<�G�(�
�����z�2�$
�>�B�>2�j�$g!�T	�z���F�r

Youez - 2016 - github.com/yon3zu
LinuXploit