
    udM                     "   d dl mZ d dlmZ d dlmZ d dl	Z	d dl
Z
d dlZd dlZej        dej        dej        dej        dej        dej        dej        diZej        dej        d	ej        d
ej        dej        dej        dej        diZdddddddddddddddddddddddddd
i ddddddddddddd dd!dd"dd#dd$dd%dd&dd'dd(dd)dd*Zd+Zd,d-d+d.d	d+dd/d+d0d+d+d+d1d+d+d2d+d+d+d3Zd0d4d5d6d0d7d5d8d9d:d;d9d9d:d;d8d<d=d	d<d<d=d	d8d>d?d+d>d>d?d+d8d@dAdBd@d@dAdBd8d	dCd
d	d	dCd
d8dDZdE ZdF ZdadHZdI ZdJ ZdK ZdL Z dM Z!dN Z"dO Z#dP Z$dQ Z%dR Z&dS Z'dT Z(dU Z)dV Z*dW Z+dX Z,dY Z-dZ Z.d[ Z/d\ Z0d] Z1d^ Z2d_ Z3e4d`k    r e0             dS dS )b    Ng      ?g?g      ?g      ?gffffff?g      ?-            
                  )D1D2D3D9D12D30   g      @g      @r   r   r   D7r   r   r   g      ?)
r   r   r   r   r   D10r   D16r   D60r   g      @r   r   D4r   r   r   r   r   D20D24D27r   D40D45r   	shadvarga
saptavarga
dashavargashodashavarga<   iV  i  i;  )Total	UchhabalaSaptavargajabalaOjhayugmarashiamshabalaKendradhibalaDrekshanabalai     )r%   Natonnatabala
PakshabalaTribhagabalaVarsha-maasa-dina-horabala
Yuddhabala	Ayanabala)r%   
SthanabalaDigbala	KaalabalaCheshtabalaNaisargikabalaDrikbalah  ,  i  iJ  SunMoonMarsMercuryJupiterVenusSaturn      `   #   2   P   F   p   d   C   (   )Shadbalar2   r3   r4   r5   r1   c                 4   |d         |          d         }|d         |          d         }|d         |          d         }|d         |          d         }t          |d         |           }|dk    s|dk    rd	}t          j        S |d
k    rd}t          j        S ||v rd}d}	n||v rd}d}	n||v rd}d}	nd}d}	d}
|d         |          d         }|d         |         d         }t	          j        ||          }|dk    s|dk    s|dk    s|dk    s|dk    s|dk    rd}
d}nd}
d}|	|z   }|dk    rt          j        S |dk    rt          j        S |dk    rt          j        S |dk    rt          j	        S |dk    rt          j
        S t          d           t          j        S )Nplanets
dispositorfriendsenemiesnuetralsymbolEXALTMOOLMooltrikonaOWNSwarashiMitrar   ShatruSamar   UNKNOWN 	house-numr	   r   r   r         zCShould not reach here while computing planet to dispositor relation)#check_planetPos_OwnMooltrikonExhaltcrV   SWAYAMgen	housediff	ATHIMITRAMITRASAMASHATRU
ATHISHATRUprint)planetdivisionlagnarP   naturalfriendsnaturalenemiesnaturalnuetrals	planetstsnaturalrelationn_valtemporaryrelationplanethousedispositorhouseplanet2dispt_val	final_vals                   tc:\Users\sbb925582\OneDrive - Tata Technologies\Documents\Personal\jyotishyamitra\jyotishyamitra\support\mod_bala.pyget_PlanetaryDispositorRelationr   g   s     )$V,\:J9%f-i8N9%f-i8NI&v.y9O3HX4FvNNI 	W)v"5"5'v	e		"oX	~	%	%oee	~	%	% oee		&	&oee!oe 	"6*;7KI&z2;?O-O<<Kqqqrrr"uu$IQ
q..
q..
r//
r//STTT    c            	      N   dD ]} dD ]}d}t           |          D ][}t          |t          j        |         t          j        d                   }t          |         }t           |          |         }|||z  z   }\t          |d          t          j        d         d         |          |<   d S )Nr   )	r;   r<   r=   r>   r?   r@   rA   RahuKetu        r   r   Balas
Vimshopaka)vimshopak_divisionstrengthsr   datachartsrel2vimshopakratioround)levelro   planet_vimshopakaBaladivplanetDispositor_relationInDivplanetStrengthInDivdivisionWeightages          r~   compute_VimshopakaBalasr      s     L ` `f 
	` 
	`F$'!259 j j1PQWY]YdehYikokvw{k|1}1}.&89W&X#$?$Fs$K!(=ATWhAh(i%% AFF[]^@_@_DK .u5f==
	` Fr   Fc                 P   | dk    s|dk    rBt          j        t          j        |          d         |         d                   }t          j        |          d         |         d         d         }|dk    r|dk    r
|d	k    rd
S dS dS |dk    r|dk    r
|dk    rdS d
S |dk    rdS dS |dk    r|dk    r
|dk    rd
S dS |dk    rdS dS |dk    r"|dk    r|dk    rdS |d	k    rd
S dS |dk    rdS dS |dk    r|dk    r
|dk    rd
S dS |dk    rdS dS |dk    r|dk    r
|dk    rd
S dS |dk    rdS dS |d k    r|d!k    r
|d	k    rd
S dS |d"k    rdS dS d S t          j        t          j        |          d         |         d                   }|dk    r
|dk    rd
S dS |dk    r|dk    rd
S |dk    rdS dS |dk    r|dk    rd
S |dk    rdS dS |dk    r|dk    rd
S |dk    rdS dS |dk    r|dk    rd
S |dk    rdS dS |dk    r|dk    rd
S |dk    rdS dS |d k    r|d!k    rd
S |d"k    rdS dS d S )#Nr   TrO   signposdec_degr;   r         4@rV   rX   NONEr<   r	   g      @rU   r   r=   r   g      (@   r>   r
         .@r   r?   	         $@rb   r@      rA   ra   r   rg   signnumr   r   )r   ro   varga_degreesConsideredsignnodegs        r~   rd   rd      sB   
d{{/477T[-i8@HII{3	*6259)DU??{{::"F!Ev{{99#G"F1v{{::"F!E1y  {{::#G4ZZ"F!E1y  {{::"F!E2w{{::"F!E1x||::"F!E2DT[-i8@HIIU??{{v{{1v{{1y  {{1y  {{2w{{1x||2Dr   c                  J   dD ]} t           j        |          d         t           j        |          d         ddg}t          j        t          j        d         ||           }|dk    rd|z
  }|dz  }t          |d          t          j        d	         d
         d         d         | <   d S )Nr:   r   r   r   @	  0*  r   r   rM   r2   r&   )rg   deepDebilitPointget_point2planetdistancer   r   r   )ro   DebilitPointdist_secuchhabala_virupas       r~   compute_uchhabalar   >  s     S i i,V4Q79Mf9UVW9XZ[\]^ /D0A<QWXXx   H,H $V,NSTdfgNhNhGZ(6{CFKK
Fr   c                     dD ]} d}dD ]E}t          | t          j        |         t          j        d                   }t          |         }||z   }Ft	          |d          t          j        d         d         d         d	         | <   d S )
Nr:   r   r   r   r   r   rM   r2   r'   )r   r   r   rel2sapthavargajabalar   )ro   planet_saptavargajabalar   r   r   s        r~   compute_saptavargajabalar   P  s    R w w"%? 	T 	TC-LVUYU`adUegkgrswgx-y-y*"78V"W&=@S&S##UZ[rtuUvUvGZ(67IJ6RR
Fr   c                     dD ]} d}t          j        t          j        d         d         |          d                   }t          j        t          j        d         d         |          d                   }|dz  dk    r|d	z   }|dz  dk    r|d	z   }|t          j        d
         d         d         d         | <   dD ]} d}t          j        t          j        d         d         |          d                   }t          j        t          j        d         d         |          d                   }|dz  dk    r|d	z   }|dz  dk    r|d	z   }|t          j        d
         d         d         d         | <   d S )N)r;   r=   r>   r?   rA   r   r   rO   r   r   r	   r   r   r   rM   r2   r(   r<   r@   r   r   )ro   planet_ojhayugmarashiamsabalaplanet_lagnasignnumplanet_navamsasignnums       r~   compute_ojhayugmarashiamsabalar   ]  s   A z z(+%!k$+d*;I*Fv*Nv*VWW #DK,=i,H,PQW,X Y Y!#)),IB,N)!A%!++,IB,N)\yGZ(67PQRXYY# z z(+%!k$+d*;I*Fv*Nv*VWW #DK,=i,H,PQW,X Y Y!#)),IB,N)!A%!++,IB,N)\yGZ(67PQRXYY
Fr   c                      dD ]_} d}t           j        d         d         |          d         }|dv rd}n	|dv rd	}nd
}|t           j        d         d         d         d         | <   `d S )Nr:   r   r   rO   r`   )r   r   r   r   r$   )r	   r   r   ra   r   r   r   rM   r2   r)   r   r   )ro   planet_kendradhibalahnos      r~   compute_Kendradhibalar   t  s    R 	g 	g k$	*62;?:#%  Z#%  #% RfGZ(6GOO
Fr   c                     dD ]} d}t           j        d         d         |          d         d         }|dk    r| dv rd	}n"|dk    r|d
k    r| dv rd	}n|d
k    r| dv rd	}nd}|t           j        d         d         d         d         | <   d S )Nr:   r   r   rO   r   r   r   )r;   r?   r=   r   r   r   )r>   rA   r   rM   r2   r*   r   )ro   planet_drekkanabalar   s      r~   compute_Drekkanabalar     s    R f f{4 +F3E:9ED[[v)CCC"$Tzzt&<M2M2M"$Tzz*? ? ?"$"#ReGZ(6GOO
Fr   c                     t                       t                       t                       t                       t	                       dD ]} d}|t
          j        d         d         d         d         |          z   }|t
          j        d         d         d         d         |          z   }|t
          j        d         d         d         d         |          z   }|t
          j        d         d         d         d	         |          z   }|t
          j        d         d         d         d
         |          z   }t          |d          t
          j        d         d         d         d         | <   d S )Nr:   r   r   rM   r2   r&   r'   r(   r)   r*   r   r%   )r   r   r   r   r   r   r   r   )ro   planet_sthanabalas     r~   compute_sthanabalar     sb    "$$$R f f-G0DZ0PQ]0^_j0klr0ss-G0DZ0PQ]0^_q0rsy0zz-G0DZ0PQ]0^_x0y  {A  1B  B-G0DZ0PQ]0^_n0opv0ww-G0DZ0PQ]0^_n0opv0wwJOPacdJeJeGZ(6w?GG
Fr   c                    d}| d         }|d         dz  |d         dz  z   |d         z   }|dk    rd	|z
  }n|}|d
z  }dD ]7}t          |d          t          j        d         d         d         d         |<   8dD ]:}t          d|z
  d          t          j        d         d         d         d         |<   ;dt          j        d         d         d         d         d<   d S )Nr   TOBhour  minr$   seci  iQ i  )r<   r=   rA   r   r   rM   r4   r,   )r;   r?   r@         N@r>   )r   r   r   )	birthdataplanet_nathonnatabala	birthtimebt_secbt_gapro   s         r~   compute_nathonnatabalar     s   % I$5)9")<=5AQRF'V#"3J- q qQVWlnoQpQpGZ(5oFvNN. x xQVX\]rXruvQwQwGZ(5oFvNNPTDK$[1/B9M
Fr   c            
         d} dD ]}d}t          j        t          j        d         d         |         d                   }t          j        d         d         |         d         d         }|d	z  |z   }|d
v rd}nd}|dv rz|dk    r:d	dt	          t          j        t          j        |                              z
  z  }nd	dt	          t          j        t          j        |                              z   z  }n|dv rz|dk    r:d	dt	          t          j        t          j        |                              z
  z  }nsd	dt	          t          j        t          j        |                              z   z  }n9d	dt	          t          j        t          j        |                              z   z  }t          |d          t          j        d         d         d         d         |<   d S )Ng-DT!	@r:   r   r   rO   r   r   r   r   )r   r	   r   r   r   r
   NorthSouth)r<   rA   r   )r;   r=   r?   r@   r   r   rM   r4   r1   )	rg   r   r   r   absmathsinradiansr   )PIro   planet_ayanabalar   r   planet_longifullkrantis          r~   compute_ayanabalar     s   	BR j jT[.y9&A&IJJ{4 +F3E:9E"RK3.m##FFF((('!!#%q#dht|DT7U7U.V.V*W*W'X#Y  #%q#dht|DT7U7U.V.V*W*W'X#Y  ;;;'!!#%q#dht|DT7U7U.V.V*W*W'X#Y  #%q#dht|DT7U7U.V.V*W*W'X#Y  !1c$(4<@P3Q3Q*R*R&S&S#TUMRTdghMiMiGZ(5kB6JJ
Fr   c                  x   d} t          j        t          j        d         dd          }|dk    rd|z
  }t          j        d         d         d                                         }t          j        d         d         d	                                         }|                    d
           |                    d           |dz  } |D ]7}t          | d          t          j        d         d         d         d         |<   8|D ]:}t          d| z
  d          t          j        d         d         d         d         |<   ;d S )Nr   r   r;   r<   r   r   classificationsnatural-beneficsnatural-maleficsr   r   r   r   r   rM   r4   r-   r   )rg   get_distancebetweenplanetsr   r   copyremover   )planet_pakshabalasun_moon_gapnaturalbeneficsnaturalmaleficsro   s        r~   compute_pakshabalar     s>   1$+d2CE&QQLx   L0k$'(9:;MNSSUUOk$'(9:;MNSSUUO6"""6"""$f-! j jNSTeghNiNiGZ(5lCFKK! q qNSUYZkUknoNpNpGZ(5lCFKK
Fr   c                  `   dD ])} dt           j        d         d         d         d         | <   *dt           j        d         d         d         d         d<   t          j        t           j        d	         d
         d                   t           j        d	         d
         d         d         t           j        d	         d
         d         d         t           j        d	         d
         d         d         g}t          j        t           j        d	         |d          }d|z
  }|dk    r(dt           j        d         d         d         d         d<   n|dk    r(dt           j        d         d         d         d         d<   n|dk    r(dt           j        d         d         d         d         d<   n|dk    r(dt           j        d         d         d         d         d<   n]|dk    r(dt           j        d         d         d         d         d<   n/|dk    r(dt           j        d         d         d         d         d<   n	 d S )Nr:   r   r   rM   r4   r.   r   r?   r   	ascendantr   r   r   r   r   r;   r   iK r>   i r   rA   i / r<   iz r@   r=   )r   r   rg   r   r   )ro   
lagnaPointlagna2sun_distsun2lagna_dists       r~   compute_tribhagabalar     s   R T TPSGZ(5nEfMM PTDK$[1.A)L KD 1+ >v FGGK%k259%@K%k259%@K%k259%@DJ 1$+d2CJuUUN.0N'""SWGZ(5nEiPP	H	%	%OSGZ(5nEeLL	H	%	%RVGZ(5nEhOO	H	%	%PTGZ(5nEfMM	H	%	%QUGZ(5nEgNN	H	%	%PTGZ(5nEfMM
Fr   c                    dD ])}dt           j        d         d         d         d         |<   *ddd	d
dddd}| d         }d|d          }t          j                            |d                                          }t
          j        |         }||         }dt           j        d         d         d         d         |<   d|d          d|d          }t          j                            |d                                          }t
          j        |         }||         }	dt           j        d         d         d         d         |	         z   t           j        d         d         d         d         |	<   |d          d|d          d|d          }t          j                            |d                                          }t
          j        |         }
||
         }dt           j        d         d         d         d         |         z   t           j        d         d         d         d         |<   t          j        t           j        d         d         d                   t           j        d         d         d         d         t           j        d         d         d         d         t           j        d         d         d         d          g}t          j	        t           j        d         |d          }d!|z
  }|d"z  }|d"z  d#k    r|d$z   }g d%}|
                    |
          }||||z                     }d&t           j        d         d         d         d         |         z   t           j        d         d         d         d         |<   d S )'Nr:   r   r   rM   r4   r/   r;   r<   r=   r>   r?   r@   rA   )SundayMondayTuesday	WednesdayThursdayFridaySaturdayDOBz01 01 yearz%d %m %Yr   z01 month g      >@dayg     F@r   r   r   r   r   r   r   r   i  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   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   r   datetimestrptimeweekdaycalendarday_namerg   r   r   index)r   ro   daylordbddatebornbornvarsha_firstday
varshalordbornmaasa_firstday	maasalord	bornvaara	vaaralordr   r   r   hora_num	horalordsdinaidxhoralords                      r~   compute_VarshaMaasaDinaHoraBalar  	  s   R b b^aGZ(56RSTZ[[   !&%!$' 'G 
5	B %bj$$D%%dJ77??AAD$-d3,-J^bDK$[12NOPZ[ 02g;//F//D%%dJ77??AAD#,T2*+I]adhdopwdx  zD  eE  FQ  eR  So  ep  qz  e{  ^{DK$[12NOPYZ 5	88BwK88"V*88D%%dJ77??AAD#D)I	"I]adhdopwdx  zD  eE  FQ  eR  So  ep  qz  e{  ^{DK$[12NOPYZ KD 1+ >v FGGK%k259%@K%k259%@K%k259%@DJ 1$+d2CJuUUN.0N'*H'"A%%a<  I ooi((Gy!123H\`cgcnovcw  yC  dD  EP  dQ  Rn  do  px  dy  ]yDK$[12NOPXY
Fr   c            
         t           j        d         d         d         d         dddgt           j        d         d         d         d         dddgt           j        d         d         d         d         dddgt           j        d         d         d         d         dddgt           j        d         d         d         d         dddgt           j        d         d         d         d         dddgt           j        d         d         d         d         dddgd	} d	D ]m}t          j        t           j        d         | |         |          }|d
k    rd|z
  }|dz  }t	          |d          t           j        d         d         d         |<   nd S )Nr   housesr   sign-numr   r   r   r
   r:   r   r   r   r   rM   r3   )r   r   rg   r   r   )planet_zeroDigbalaPointsro   planet_dist4mzeropointplanet_digbalas       r~   compute_digbalar  E  s   ,0K,=h,G,LZ,XZ\]^_`+a-1[->x-H-Nz-Z\^_`ab,c-1[->x-H-Mj-Y[]^_`a,b04D0A(0KC0PQ[0\^`abcd/e04D0A(0KC0PQ[0\^`abcd/e.2k$.?.I$.OPZ.[]_`abc-d/3{4/@/J3/OPZ/[]_`abc.d "  " S W W!$!=dk$>OPhioPprx!y!y!X..&.2H%H"/6:>CNTU>V>VGZ(3F;;
Fr   c                  :   t           j        d         d         d         d         d         t           j        d         d         d         d<   t           j        d         d         d         d         d         t           j        d         d         d         d<   g d	g d
g dd} | D ]}t          j        t           j        d         |d          }t          j        t           j        d         d|          }t	          ||          }|dz  }|dz  dz  }| |                                         }t          |d|                   dz  }d|z  ||         z  }	||	z   }
t          |
d          t           j        d         d         d         |<   t          j        t           j        d         dd          }t          j        t           j        d         dd          }t	          ||          dz  }t           j        d         d         d         d         }|dk    r	d|dz  z
  }n|dk    r|}nd|z  dz
  }t          |d          t           j        d         d         d         d<   t          j        t           j        d         dd          }t          j        t           j        d         dd          }t	          ||          dz  }t           j        d         d         d         d         }|dk    r	d|dz  z
  }nd|z  }t          |d          t           j        d         d         d         d<   d S )Nr   rM   r4   r1   r;   r5   r-   r<   )r   r   r   r   r	   r	   r   )r
   r   r   r   r	   r   r   )r   r
   r   r	   r   r   r   )r?   rA   r=   r   i r   r   r   g?r@   rO   retroTr$   r   g      D@r	   )   r>   )r   r   rg   r   r   r   sumr   )planet_chestapointsro   dist_planet2sundist_sun2planetgap_planet2sun	gap_signsgap_degreeslistcheshtabal_signpartchestabal_degreepartplanet_cheshtabaladist_venus2sundist_sun2venusgap_venus2sunvenus_retroStsvenus_cheshtabaladist_mercury2sundist_sun2mercurygap_mercury2sunmercury_retroStsmercury_cheshtabalas                        r~   compute_chestabala_kurmamethodr.  X  s2   =A[=QR\=]^i=jkv=wx}=~DK$]3E: ?Ck'>RS]>^_j>klx>y  {A  ?BDK$]3F; (='<'<&;&;&;$9$9$9= = & ^ ^8T9JFSXYY8T9JESYZZ__== #W-	%1T9 #6*//11 #D9$5 6 69!$[$y/ A03GGBGHZ[\B]B]GZ(7?? 3DK4EwuUUN3DK4EugVVN~66t;M[&y1':7CN 	$-"454 -!"=B 6?DEVWX?Y?YDK$]3G< 5dk$6GSXYY5dk$6GPYZZ*+;<<TAO{4(3I>wG 	D   OQ$78 0AFGZ[\A]A]DK$]3I>
Fr   c                 \   | dk    rdS | dk    r|dk    r| dz
  dz  S | dz
  dz  S | dk    r|dk    rdd| z
  dz  z   S | dz
  S | dk    r"|d	k    s|d
k    rd| dz
  dz  z   S dd| z
  dz  z   S | dk    r|d	k    s|d
k    rd| z
  dz  S d| z
  S | dk    rt          d| z
            dz  S | dk    r|d	k    rdS d| z
  dz  S | dk    r$|d	k    rd| z
  S |d
k    rd| dz
  dz  z   S d| z
  dz  S | dk    r'|dk    r| dz
  S |d
k    rddd| z
  z  dz  z   S d| z
  dz  S | dk    r|dk    rd| z
  dz  S d| z
  dz  S dS )Nr   r   r$   rA   r	   Z   r   x   r=   r?   r+         r9      i  r   r   )r   )degreeaspectingplanets     r~   get_sputadrishtir7    s   {{q	"h&&RKA%&RKA%&	"h&&f))*B;	#v%%?i+G+G"))*v**+	#v%%?i+G+G&LA%&< 	#C&L!!Q&'	#f$$2&LA%&	#f$$< 	))#!++,&LA%&	#h&&C< 	))cFl,q001&LA%&	#h&&&LA%&&LA%&qr   c                     t           j        d         d         d                                         } t           j        d         d         d                                         }|                    d           |                    d           dD ]}d}d}d}| D ]G}||k    r	t	          j        t           j        d         ||          d	z  }t          ||          }||z   }H|D ]G}||k    r	t	          j        t           j        d         ||          d	z  }t          ||          }||z   }H||z
  }	|	d
z  }t          |d          t           j        d         d         d         |<   d S )Nr   r   r   r   r   r   r:   r   r         @r   r   rM   r7   )r   r   r   r   rg   r   r7  r   )
r   r   ro   planet_drikbalabenefic_sputamalefic_sputar6  dist_aspecting2planetsputadrishtipinda_totals
             r~   compute_drikbalar@    s   k$'(9:;MNSSUUOk$'(9:;MNSSUUO6"""6"""R Y Y. 	2 	2O(($'$B4;tCTVefl$m$mnr$r!$%:?KKE)E1MM. 	2 	2O(($'$B4;tCTVefl$m$mnr$r!$%:?KKE)E1MM +]: -s2?D_VW?X?XGZ(4V<<
Fr   c                    t          |            t                       t                       t                       t	          |            dD ]}d}|t
          j        d         d         d         d         |         z   }|t
          j        d         d         d         d         |         z   }|t
          j        d         d         d         d         |         z   }|t
          j        d         d         d         d	         |         z   }|t
          j        d         d         d         d
         |         z   }t          |d          t
          j        d         d         d         d         |<   d S )Nr:   r   r   rM   r4   r,   r-   r.   r/   r1   r   r%   )r   r   r   r   r  r   r   r   )r   ro   planet_kaalaabalas      r~   compute_kaalabalarC    sg   9%%%#I... S e e-G0DZ0PQ\0]^m0nou0vv-G0DZ0PQ\0]^j0klr0ss-G0DZ0PQ\0]^l0mnt0uu-G0DZ0PQ\0]^z0{  }C  1D  D-G0DZ0PQ\0]^i0jkq0rrINO`bcIdIdGZ(5g>vFF
Fr   c                     dD ])} dt           j        d         d         d         d         | <   *dD ];}dD ]4}||k    r
t          j        t           j        d         ||          }|dk     r|}|}t	          t           j        d         d         d	         |         t           j        d         d         d	         |         z
            }t           j        d         d         d         d         |         |z
  t           j        d         d         d         d         |<   t           j        d         d         d         d         |         |z   t           j        d         d         d         d         |<   6=d S )
Nr:   r   r   rM   r4   r0   r   r   r%   )r   r   rg   r   r   )ro   planet1planet2dist_planet1to2looserplanetwinnerplanetshadbalaGaps          r~   compute_yuddhabalarK  
  s   R P PNOGZ(5lCFKKS v vW 	v 	vG7""!<T[=NwW^__O%%&&"4;w#7
#CG#L\#Z]a]hip]qr|]}  F  ^G  HT  ^U  $U   V   V]a]hip]qr|]}  J  ^K  LX  ^Y  Zf  ^g  ju  ^uG$Z0=lKLY]a]hip]qr|]}  J  ^K  LX  ^Y  Zf  ^g  ju  ^uG$Z0=lKLY	v Fr   c                 z   t                       t                       t          |            t                       t	                       dD ]*}d}|t
          j        d         d         d         d         |         z   }|t
          j        d         d         d         d         |         z   }|t
          j        d         d         d         |         z   }|t
          j        d         d         d	         |         z   }|t
          j        d         d         d
         |         z   }|t
          j        d         d         d         |         z   }t          |d          t
          j        d         d         d         |<   ,t                       dD ]}t
          j        d         d         d         |         }|t
          j        d         d         d         d         |         z   }t          |d          t
          j        d         d         d         |<   t          |dz  d          t
          j        d         d         d         |<   d S )Nr:   r   r   rM   r2   r%   r4   r3   r5   r6   r7   r   r0   r$   Rupas)	r   r  rC  r@  r.  r   r   r   rK  )r   ro   planet_shadbalas      r~   compute_shadbalarO     s   i   "$$$ S 	V 	V)DK,@,L\,Z[b,cdj,kk)DK,@,L[,YZa,bci,jj)DK,@,LY,WX^,__)DK,@,L],[\b,cc)DK,@,LM],^_e,ff)DK,@,LZ,XY_,``<A/ST<U<UGZ(1&99  S [ [+g.z:7CFK)DK,@,L[,YZf,ghn,oo<A/ST<U<UGZ(1&9<A?SUCUXY<Z<ZGZ(1&99
Fr   c                  l   dD ]} t           j        d         d         d         d         |          }t           j        d         d         d         |          }t          t          j        ||z            d          }d|z
  }|t           j        d         d	         | <   |t           j        d         d
         | <   d S )Nr:   r   rM   r2   r&   r5   r   r   	Ishtabala
Kashtabala)r   r   r   r   sqrt)ro   	uchhabalacheshtabala	ishtabala
kashtabalas        r~   compute_ishtakashtabalasrX  B  s    R @ @K(4\B;OPVW	k'*:6}EfM$)Ik$9::1==	)^
4=G[)&15?G\*622
Fr   c                      t          d          D ]i} t          j        d         d         |          d         }t          j        d         d         d         |         t          j        d         d         d	         | <   jd S )
Nrb   r   r  z	sign-lordr   rM   r%   	BhavaBalaBhavaAdhipathibalaranger   r   )r   	houselords     r~   compute_bhavaAdhipthibalar_  N  sr    Ryy | |K%h/4[A	GK{SZG[\fGghoGpqzG{G[)*>?DD
Fr   c                     g dg dg dg dg dd} dddd	dddd
dddd	dd	d}t          d          D ]}t          j        d         d         |         d         }t          j        d         d         d         d         }|dk    rd}nd}|dk    s|dk    r| d| }n|}||         }| |         |         }|t          j        d         d         d         |<   d S )N)r$   rF   rL   r   r   r   r   r   r   r   rL   rF   )r   rL   rF   r$   rF   rL   r   r   r   r   r   r   )r   r   r   r   r   r   r   rL   rF   r$   rF   rL   )r   r   r   r   rL   rF   r$   rF   rL   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   )nara	jalacharachatuspadhakeetanonerc  ra  rb  rd  re  )AriesTaurusGeminiCancerLeoVirgoLibraScorpiozSaggitarius-1zSaggitarius-2zCapricorn-1zCapricorn-2AquariusPiscesrb   r   r  r   r   r   r   r   r   r	   Saggitarius	Capricorn-r   rZ  BhavaDigbalar\  )	bhavadigbalassign_naturer   r   lagnadegpart	sign_partnaturebhavadigbalas	            r~   compute_bhavaDigbalar{  T  sD   "F"F"F&J&J&J(L(L(L"F"F"F!:!:!:	 M **#('""%$*$1"/"-%( K Ryy N N{4 *3/7;t$[1%8CDDD]""(;(;!,,D,,IIIY'$V,S1AMG[).9#>>
Fr   c            	      4   t           j        d         d         d                                         } t           j        d         d         d                                         }|                    d           |                    d           t	          d          D ]}t           j        d         d         |         d	         }d
}d
}d
}| D ]I}t          j        t           j        d         |dd
d
g|          dz  }d|z
  }	t          |	|          }
||
z   }J|D ]I}t          j        t           j        d         |dd
d
g|          dz  }d|z
  }	t          |	|          }
||
z   }J||z
  }|dz  }t          |d          t           j        d         d         d         |<   d S )Nr   r   r   r   r   r   rb   r  r  r   r   r   r8   r9  r   r   rZ  BhavaDrishtibala)	r   r   r   r   r]  rg   r   r7  r   )r   r   r   sign_numbhava_drikbalar;  r<  r6  dist_bhavamadhya2aspectingdist_aspecting2bhavamadhyar>  r?  s               r~   compute_bhavadrishtibalar  |  s   k$'(9:;MNSSUUOk$'(9:;MNSSUUO6"""6"""Ryy ] ];t$X.s3J?. 	2 	2O),)EdkRVFWZbcefghiYjl{)|)|  ~B  *B&),/I)I&$%?PPE)E1MM. 	2 	2O),)EdkRVFWZbcefghiYjl{)|)|  ~B  *B&),/I)I&$%?PPE)E1MM +]: ,c1EJ>Z[E\E\G[)*<=cBB
Fr   c                     t                       t                       t                       t          d          D ]} t          j        d         d         d         |          }|t          j        d         d         d         |          z   }|t          j        d         d         d         |          z   }t          |d          t          j        d         d         d         | <   d S )	Nrb   r   rZ  r[  rs  r}  r   r%   )r_  r{  r  r]  r   r   r   )r   	bhavabalas     r~   compute_bhavabalar    s     Ryy M MK(56JKCP	G 4[ A. QRU VV	G 4[ ABT UVY ZZ	:?	!:L:LG[)'2377
Fr   __main__)F)5support.mod_astrodatamod_astrodatar   support.mod_generalmod_generalrg   support.mod_constantsmod_constantsre   r   r   r   r   rV   rf   ri   rj   rk   rl   rm   r   r   r   NumShadbalaMaxBalaNeededValuesr   r   rd   r   r   r   r   r   r   r   r   r   r   r  r  r.  r7  r@  rC  rK  rO  rX  r_  r{  r  r  __name__ r   r~   <module>r     s   $ $ $ $ $ $ ! ! ! ! ! ! ! ! ! ! ! !    5555544  FbHbKbGbFbHaLa  675656566767-. -. 67565658586767.. .. 67585858586969696967
.. 
..12D 1248124812 5912 59	12
 5912 5:#12 5:#12 5:!12 5:#12 5:#12 5:#12 5:!12 5:#12 5:#12 5:!125+! +! Z 	(+,.36:<0202  '*02-//1=@-/,.  !!#' , ),S#RUbeps  @C  !D  !D*-sBSVcfqt  AC  #D  #D')2rb]_jlxz{{)+RPR_alnz|!}!}+.RTWdgru  BD  $E  $E)+RPR_alnz|!}!}  = = =@  &   H  $    .       *  $  <  $  @: : :x  &B B BH2 2 2l! ! !F  *  ,     D	 	 	  & & &P  B   z r   