o
    ނi6t                     @   s  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 G dd deZ
eee
ddmddZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd dejZG dd  d ejZG d!d" d"ejZG d#d$ d$ejZG d%d& d&ejZG d'd( d(ejZG d)d* d*ejZG d+d, d,ejZG d-d. d.ejZG d/d0 d0ejZG d1d2 d2ejZG d3d4 d4ejZ G d5d6 d6ejZ!G d7d8 d8ejZ"G d9d: d:ejZ#G d;d< d<ejZ$G d=d> d>ejZ%G d?d@ d@ejZ&G dAdB dBejZ'G dCdD dDejZ(G dEdF dFejZ)G dGdH dHejZ*G dIdJ dJejZ+G dKdL dLejZ,G dMdN dNejZ-G dOdP dPejZ.G dQdR dRejZ/G dSdT dTejZ0G dUdV dVejZ1G dWdX dXejZ2G dYdZ dZejZ3G d[d\ d\ejZ4G d]d^ d^ejZ5G d_d` d`ejZ6G dadb dbejZ7G dcdd ddejZ8G dedf dfejZ9G dgdh dhejZ:G didj djejZ;G dkdl dlejZ<d	S )n    )models)AbstractUser)	post_save)receiver)Tokenc                   @   sL   e Zd ZejddZejddZejddZejdddZ	G dd	 d	Z
d
S )	User_dataTprimary_keyx   
max_length<      r   nullc                   @      e Zd ZdZdS )zUser_data.Meta	user_dataN__name__
__module____qualname__db_table r   r   '/home/acert/hirelines/app_api/models.pyMeta       r   N)r   r   r   r   	AutoFieldid	CharField	usr_emailusr_passworduserr   r   r   r   r   r   	   s    r   )senderNFc                 K   s   |rt jj|d d S d S )N)r!   )r   objectscreate)r"   instancecreatedkwargsr   r   r   create_auth_token_for_customer   s   r(   c                   @   s   e Zd ZejddZejddddZejddddZejddddZ	ejddddZ
ejddddZejdddZejddddZG d	d
 d
ZdS )CompanyDataTr   r
   r   r   blank2   d   r   r+   r   c                   @   r   )zCompanyData.MetacompanydataNr   r   r   r   r   r   $   r   r   N)r   r   r   r   r   r   r   companynamecompanyemaillocationcontactpersoncompanytypeDateTimeFieldregisterationtimedemorequestr   r   r   r   r   r)      s    r)   c                   @   s  e Zd ZejddZejdddZejdddZejdddZ	ej
ddZejddZejdddZejdddZejdddZejdddZejdddZejdddZejdddZejddZejddZejdddZejdddZejdddZejddZG d	d
 d
ZdS )	CandidateTr   r-   r   r   (   r      c                   @   r   )zCandidate.Meta	candidateNr   r   r   r   r   r   ?   r   r   N)r   r   r   r   r   r   r   candidateid	firstnamelastnamer5   registrationdateIntegerField	companyidemailmobileadd1add2citystatecountry	DateFielddobjobidstatus
deleteflagsource	profileidr   r   r   r   r   r8   )   s*    r8   c                   @   sv  e Zd ZejddZejdddZejddZ	ejdddZ
ejdddZejdddZejddZejddZejdddZejd	ddZejd
dddZejd	ddZejdddZejd	ddZejdddZejdddZejddZejddZejddZejddZejdddZejdddZejdddZ ejdddZ!ejdddZ"ejddZ#G dd dZ$dS )JobDescTr      r   r9   ^  r-              
max_digitsdecimal_placesr         r   c                   @   r   )zJobDesc.MetajobdescNr   r   r   r   r   r   _   r   r   N)%r   r   r   r   r   r   r   jobcoderA   jdlibraryidtitleroledescriptionexpminexpmax
departmentr2   DecimalFieldbudgetskillsetsecondaryskills
skillnotesinterviewersrJ   expjoindate	positions	createdbyr5   	createdonrB   rM   dashboardflagapproval_statuscommentsrecruiteridshiringmanageridr   r   r   r   r   rQ   C   s8    rQ   c                   @   s   e Zd ZejddZejddZejddZejddZ	ej
ddddZejddZejddZejddZej
ddddZG dd dZdS )	RegistrationTr   r9   r   r*   c                   @   r   )zRegistration.MetaregistrationNr   r   r   r   r   r   n   r   r   N)r   r   r   r   r   r   rA   r=   rL   paperidr   	papertyperB   r5   r@   completiondaterM   r   r   r   r   r   ru   c   s    ru   c                   @   s*  e Zd ZejddZejddZejddddZejddddZ	ejddddZ
ejddddZejddddZejddddZejddddZejddddZejddddZejddddZejddddZejdddZejddddZejdddZejddZejddddZG d	d
 d
ZdS )CompanyTr   r-   r   r*   r   r   r9   c                   @   r   )zCompany.MetacompanyNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   r   nameaddress1address2rG   rH   rI   companydomainrM   websitephone1phone2rC   emaildomainr4   	freetrailr5   r@   r3   r   r   r   r   r   rz   r   s(    rz   c                   @   s^   e Zd ZejdddZejdddZejdddZejdddZej	ddZ
G dd dZdS )	ReferenceIdr   Tr      r9   c                   @   r   )zReferenceId.MetareferenceidNr   r   r   r   r   r      r   r   N)r   r   r   r   r   typeprefix1prefix2prefix3rA   lastidr   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejdddZejdddZejdddZ	ejdddZ
ejdddZejdddZejddZG dd dZd	S )
RolesPermissionsTr   r
   r   i  r9   c                   @   r   )zRolesPermissions.MetarolespermissionsNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   r   functionsub_functionfunction_categoryfunction_linkenablefunction_iconrA   orderbyr   r   r   r   r   r      s    r   c                   @   sB   e Zd ZejddZejdddZejdddZG dd dZ	dS )	RoleTr   r
   r   r   c                   @   r   )z	Role.Metara   Nr   r   r   r   r   r      r   r   N)
r   r   r   r   r   r   r   NamerM   r   r   r   r   r   r      s
    r   c                   @   s   e Zd ZejddZejdddZejdddZejddddZ	ej
ddZejddddZejd	ddZejdddZejddZejd
ddZG dd dZdS )UserTr   r-   r   rR   r
   r*   r9   r:   r   c                   @   r   )z	User.Metar!   Nr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   r   r|   rD   r2   r5   	datentimerC   passwordra   rA   rB   rM   r   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejddZejddZejddZ	ej
dddZejddZej
ddddZejddZej
dddZG dd	 d	Zd
S )WorkflowTr   r9   r   r   r
   r*   c                   @   r   )zWorkflow.MetaworkflowNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   rA   rL   rB   rw   r   rx   order
papertitlepaperlibraryid
teststatusr   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejdddZejdddZejdddZ	ejdddZ
ejdddZejdddZejdddZejddddZejdddZG dd dZdS )	BrulesTr   r.   r   r*   c                   @   r   )zBrules.MetabrulesNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   rA   
workflowidrB   	jobdescidrw   	passscore	passevent	faileventr   holdholdpercentager   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejddZejddZejddZ	ejddZ
ejddZejdddZejddZejddZejdddZejdddZejdddZejdddZejddZejddZejdddZG dd	 d	Zd
S )CallScheduleTr   r9   r   r   i  r-   c                   @   r   )zCallSchedule.MetacallscheduleNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   rA   r=   hridpaper_idintervieweridr5   r   r   rM   callstarteddttcallendeddttinstructionsintnotesmeetinglinkcallendflagrB   
audioscore
audiolevelr   r   r   r   r   r      s$    r   c                   @   s~   e Zd ZejddZejddZejddZ	ejddZ
ejddZejdddZejdddZejddZG dd dZd	S )
VacationTr   r9      r   r   c                   @   r   )zVacation.MetavacationNr   r   r   r   r   r      r   r   N)r   r   r   r   r   r   rA   empidrJ   fromdatetodatehoursr   purposer   rB   r   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejddZejdddZ	ej
dddZejdddZejdddZejdddZejddZG dd	 d	Zd
S )WorkCalTr   r9   
   r   rR      c                   @   r   )zWorkCal.MetaworkcalNr   r   r   r   r   r   	  r   r   N)r   r   r   r   r   r   rA   useridr   startday	TimeField	starttimer   weekoff1weekoff2rB   r   r   r   r   r   r      s    r   c                   @   s   e Zd ZejddZejddZejddZej	ddZ
ej	ddZejdddZejdddZejdddZejddZG dd	 d	Zd
S )ExtendedHoursTr   r9   rR   r   r   r   c                   @   r   )zExtendedHours.MetaextendedhoursNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   r   	workcalidrJ   r   r   r   r   r   	workhoursrM   rB   r   r   r   r   r   r     s    r   c                   @   sZ   e Zd ZejddZejddZejdddZ	ejdddZ
ejddZG dd dZd	S )

HolidayCalTr   r9   r   r   r-   c                   @   r   )zHolidayCal.Meta
holidaycalNr   r   r   r   r   r   #  r   r   N)r   r   r   r   r   r   rJ   	holidaydtr   r   rb   rA   rB   r   r   r   r   r   r     s    r   c                   @   s   e Zd ZejddZejdddZejdddZ	ejdddZ
ejdddZejdddZejdddZejddddZejd	dddZejdddZejd
ddZejdddZejdddZG dd dZdS )Email_templateTr   r.   r
   r   r-   ,  r*   i'     zemail_attachments/	upload_tor   c                   @   r   )zEmail_template.Metaemail_templateNr   r   r   r   r   r   7  r   r   N)r   r   r   r   r   r   rA   
company_idr   template_name
paper_typeeventsender_emailsender_labelemail_subject
email_bodytemplate_headingemail_attachment	FileFieldemail_attachment_pathemail_attachment_namer   r   r   r   r   r   '  s    r   c                   @   sf   e Zd ZejddZejddZejdddZ	ej
ddZej
ddZejdddZG dd	 d	Zd
S )BrandingTr   r9   zlogos/r   r   r   c                   @   r   )zBranding.MetabrandingNr   r   r   r   r   r   C  r   r   N)r   r   r   r   r   r   rA   rB   r   logourl	TextFieldcontentsociallinksr   rM   r   r   r   r   r   r   ;  s    r   c                   @   s   e Zd ZejddZejddZejddZej	dddZ
ejddZej	dddZej	dddZej	dddZG dd	 d	Zd
S )LookupmasterTr   r9      r   r   r   c                   @   r   )zLookupmaster.MetalookupmasterNr   r   r   r   r   r   Q  r   r   N)r   r   r   r   r   r   rA   lookupidlookupmasteridr   
lookupnamer   lookupparam1lookupparam2rM   rr   r   r   r   r   r   r   G  s    r   c                   @   s   e Zd ZejddZejddZejddZejddZ	ej
dddZej
dddZej
dddZejddZG dd dZd	S )
	QResponseTr   r9      r   r   c                   @   r   )zQResponse.Meta	qresponseNr   r   r   r   r   r   _  r   r   N)r   r   r   r   r   r   rA   qidr=   callscheduleidr   responsenotesqraterB   r   r   r   r   r   r   U  s    r   c                   @   sl   e Zd ZejddZejdddZejdddZejdddZ	ejdddZ
ejdddZG dd dZdS )	CdnDataTr   r,   r   r-   c                   @   r   )zCdnData.MetacdndataNr   r   r   r   r   r   k  r   r   N)r   r   r   r   r   r   r   	libraryidlibraryname
pullzoneidhostnameauthkeyr   r   r   r   r   r   c  s    r   c                   @   sN   e Zd ZejddZejdddZejdddZej	ddZ
G dd dZd	S )
InterviewMediaTr      r   r:   r9   c                   @   r   )zInterviewMedia.MetainterviewmediaNr   r   r   r   r   r   u  r   r   N)r   r   r   r   r   r   r   recordedr=   rA   
scheduleidr   r   r   r   r   r   o  s    r   c                   @   sZ   e Zd ZejddZejdddZejddZejdddZ	ejddZ
G dd dZdS )	
IvFeedbackTr9   r   r   r-   c                   @   r   )zIvFeedback.Meta
ivfeedbackNr   r   r   r   r   r     r   r   N)r   r   r   r   rA   r=   r   gonogor   r   rB   r   r   r   r   r   r  y  s    r  c                   @   s   e Zd ZejddZejddZejdddZ	ej
ddddZejddZej
ddddZejddZejddZejddZejddZejdddd	ZG d
d dZdS )AccountTr   r9   r   r   rV   rW   rX   r*   c                   @   r   )zAccount.MetaaccountNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r   r   rf   paymentcreditlastpaymentr5   lastpaymentdatetime
lastcreditlastcreditdatetimebalancelowcreditsnotificationr   r   r   r   r   r    s    r  c                   @   sh   e Zd ZejddZejddZejddZ	ej
dddZejddddZejddZG d	d
 d
ZdS )PaymentsTr   r9   r   r   rV   rW   rX   c                   @   r   )zPayments.MetapaymentsNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r5   	dateofpayr   	modeofpayrf   amountcreditsr   r   r   r   r   r    s    r  c                   @   s   e Zd ZejddZejddZejddZ	ej
dddZej
dddZejddZejddZejddZejddZG dd dZdS )	CreditsTr   r9   r   r   c                   @   r   )zCredits.Metar  Nr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r5   transdatetimer   	transtyperx   pointsr!   transidr  r   r   r   r   r   r    s    r  c                   @   sL   e Zd ZejddZejddZejdddZ	ejddZ
G dd dZdS )	CompanyCreditsTr   r9   r   r   c                   @   r   )zCompanyCredits.MetacompanycreditsNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r   r  r  r   r   r   r   r   r        r  c                   @   s   e Zd ZejddZejddZejdddZ	ejdddZ
ejddZejddZejddZejddZejddZejddZejddZejddZejddZejddZG dd dZd	S )

JdAnalysisTr   r9   r;   r   r   c                   @   r   )zJdAnalysis.Meta
jdanalysisNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r   
sourcecoderx   rv   
submission
efficiencydurationmindurationmaxdurationavgrL   leadtimeminleadtimemaxleadtimeavgr   r   r   r   r   r     s     r   c                   @   sZ   e Zd ZejddZejdddZejdddZej	ddZ
ej	ddZG dd dZd	S )
SourceTr   r;   r   r,   r9   c                   @   r   )zSource.MetarO   Nr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   r   codelabelrA   r   rB   r   r   r   r   r   r+    s    r+  c                   @   sj   e Zd ZejddZejddZejdddZ	ejdddZ
ejdddZejdddZG dd	 d	Zd
S )UploadsTr   r9   r   r   r  r-   c                   @   r   )zUploads.MetauploadsNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r   r   filepathfilenamerM   r   r   r   r   r   r.    s    r.  c                   @   s   e Zd ZejddZejddZejdddZ	ejdddZ
ejddZejddZejdddZejddZG d	d
 d
ZdS )ResumeTr   r9   r-   r   r  )auto_now_addr   c                   @   r   )zResume.MetaresumeNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   sourceidr   r1  mailidr5   r   rB   rM   docparseridr   r   r   r   r   r2    s    r2  c                   @   sL   e Zd ZejddZejddZejdddZ	ej
ddZG dd dZdS )	
ResumeFileTr   r9   r-   r   c                   @   r   )zResumeFile.Meta
resumefileNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   resumeidr   r1  BinaryFieldfilecontentr   r   r   r   r   r8    r  r8  c                   @   s  e Zd ZejddZejdddZejdddZejddZ	ej
dddZejddddZejddddZejddddZejddddZejddddZejddddZejddddZejddddZejddddZej
dddZejddddZejddddZejddZejddZejddZejddZejddZejddZejddZejd	dddZ ejddd
dZ!G dd dZ"dS )ProfileTr   r.   r9   r-   r*   r:   r,   r   rR   r   r+   r   c                   @   r   )zProfile.MetaprofileNr   r   r   r   r   r     r   r   N)#r   r   r   r   r   r   rA   r5  r:  rB   r5   dateofcreationr   r`   r>   
middlenamer?   rC   rD   linkedinfacebookpassportnumdateofbirth
fathernamenativeofstrengtheducationscoreexperiencescoreprojectsscoreskillsscorecertificatesscoreawardsscorerM   profilecoder   r   r   r   r   r=    s8    r=  c                   @   s   e Zd ZejddZejdddZejdddZej	ddddZ
ej	ddddZejdddZejdddZej	ddddZG dd dZdS )	ProfileEducationTr   r.   r-   r*   c                   @   r   )zProfileEducation.MetaprofileeducationNr   r   r   r   r   r   ,  r   r   N)r   r   r   r   r   r   rA   rP   sequencer   course	instituteyearfromyeartograder   r   r   r   r   rP  "  s    rP  c                   @   s~   e Zd ZejddZejdddZejdddZej	ddddZ
ej	ddddZejdddZejdddZG dd dZdS )	ProfileExperienceTr   r.   r-   r*   c                   @   r   )zProfileExperience.MetaprofileexperienceNr   r   r   r   r   r   9  r   r   N)r   r   r   r   r   r   rA   rP   rR  r   jobtitler{   rU  rV  r   r   r   r   r   rX  0  s    rX  c                   @   sT   e Zd ZejddZejdddZejddddZ	ejddddZ
G dd dZdS )	ProfileSkillsTr   r.   r   r*   c                   @   r   )zProfileSkills.MetaprofileskillsNr   r   r   r   r   r   C  r   r   N)r   r   r   r   r   r   rA   rP   r   primaryskillsri   r   r   r   r   r   r[  =  s    r[  c                   @   s   e Zd ZejddZejdddZejdddZej	ddddZ
ej	ddddZej	ddddZej	ddddZejdddZejdddZG dd dZdS )	ProfileProjectsTr   r.   r-   r*   c                   @   r   )zProfileProjects.MetaprofileprojectsNr   r   r   r   r   r   R  r   r   N)r   r   r   r   r   r   rA   rP   rR  r   projectname
clientname
roleplayed
skillsused	yearsfromyearstor   r   r   r   r   r^  G  s    r^  c                   @   s   e Zd ZejddZejdddZejdddZ	ejdddZ
ejddddZejdddZejddddZejddddZejddddZejdddZG d	d
 d
ZdS )ProfileActivityTr   r.   r   r*   r-   r>  r  c                   @   r   )zProfileActivity.MetaprofileactivityNr   r   r   r   r   r   b  r   r   N)r   r   r   r   r   r   rA   rP   r5   r   rR  r   activitycodeacvityuseridactivitynameactivityremarksactivitystatusrB   r   r   r   r   r   rf  V  s    rf  c                   @   s`   e Zd ZejddZejdddZejdddZej	ddddZ
ejdddZG dd dZdS )	ProfileAwardsTr   r.   r-   r*   c                   @   r   )zProfileAwards.MetaprofileawardsNr   r   r   r   r   r   m  r   r   N)r   r   r   r   r   r   rA   rP   rR  r   	awardnameyearr   r   r   r   r   rm  f  s    rm  c                   @   s`   e Zd ZejddZejdddZejddddZ	ejdddZ
ejdddZG dd dZdS )	ProfileCertificatesTr   r.   r-   r*   c                   @   r   )zProfileCertificates.MetaprofilecertificatesNr   r   r   r   r   r   x  r   r   N)r   r   r   r   r   r   rA   rP   r   certnamerR  rp  r   r   r   r   r   rq  q  s    rq  c                   @   s   e Zd ZejddZejdddZejddddZ	ejddddZ
ejddddZejddddZejddddZejddddZG dd	 d	Zd
S )ProfileAddressTr   r.   r-   r*   r:   rR   c                   @   r   )zProfileAddress.MetaprofileaddressNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rP   r   addline1addline2rG   rH   rI   zipcoder   r   r   r   r   rt  |  s    rt  c                   @   s   e Zd ZejddZejddZejdddZejdddZ	ejdddZ
ejddZejddddZejdddZG dd dZd	S )
ProfileAnalysisTr   r9   r.   r   r*   c                   @   r   )zProfileAnalysis.MetaprofileanalysisNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   daymonthrp  r   r   rh  profilescountr   r   r   r   r   ry    s    ry  c                   @   s   e Zd ZejddZejdddZejddddZ	ej
dddZejddddZejdddZej
dddZejdddZejddZG d	d
 d
ZdS )	WorkspaceTr   r.   r-   r*   r   r   r9   c                   @   r   )zWorkspace.Meta	workspaceNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   clientidr   projectr5   	startdater   rn   	createdatrM   	JSONFieldjd_idsr   r   r   r   r   r~    s    r~  c                   @   s`   e Zd ZejddZejddddZejdddZ	ej
dddZejdddZG dd	 d	Zd
S )ClientTr   r-   r*   r.   r   r   c                   @   r   )zClient.MetaclientNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   r   r|   rA   rB   r5   r  rM   r   r   r   r   r   r    s    r  c                   @   s   e Zd ZejddZejdddZejdddZejddZ	e
 Ze
 ZejdddZejdddZejd	ddZG d
d dZdS )	jdlibraryTr   rS   r   rT   r,   r   r[   rU   c                   @   r   )zjdlibrary.Metar  Nr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   r   r`   rb   ra   rA   min_expmax_expprimary_skillssecondary_skillswork_locationr   r   r   r   r   r    s    r  c                   @   sV   e Zd ZejddZejddddZejddddZejddddZ	G dd dZ
dS )	JobBoardTr   r-   r*   r   c                   @   r   )zJobBoard.MetajobboardNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   r   r|   	logo_pathrM   r   r   r   r   r   r    s    r  c                   @   s   e Zd ZejddZejdddZejdddZej	ddddZ
ej	ddddZej	ddddZej	ddddZej	ddddZG dd	 d	Zd
S )JobBoardCredentialTr   r.   rU   r*   r-   r   c                   @   r   )zJobBoardCredential.MetajobboardcredentialNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   
jobboardidr   apikeyendpointusernamer   rM   r   r   r   r   r   r    s    r  c                   @   s|   e Zd ZejddZejdddZejdddZejdddZ	ej
dddZejdddZejddddZG dd dZdS )	JDJobBoardsTr   r.   r   r*   c                   @   r   )zJDJobBoards.Meta
jdjobboardNr   r   r   r   r   r     r   r   N)r   r   r   r   r   r   rA   rB   r   r  r5   publishedonpublishedbyr   rM   r   r   r   r   r   r    s    r  )NF)=	django.dbr   django.contrib.auth.modelsr   django.db.models.signalsr   django.dispatchr   rest_framework.authtoken.modelsr   r   r(   Modelr)   r8   rQ   ru   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r   r+  r.  r2  r8  r=  rP  rX  r[  r^  rf  rm  rq  rt  ry  r~  r  r  r  r  r  r   r   r   r   <module>   sp    

 	


 

