{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Chapter 15 Curvilinear motion of a particle"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.2 Components of Acceleration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The normal component of acceleration is 2.000000 m/s**2\n",
      "The tangential component of acceleration is 0.000000 m/s**2\n",
      "The normal component of deceleration is 2.000000 m/s**2\n",
      "The tangential component of deceleration is 1.000000 m/s**2\n"
     ]
    }
   ],
   "source": [
    "# Initialization of variables\n",
    "r=200 # m # radius of the curved road\n",
    "v_1=72*(1000/3600) # m/s # initial speed of the car\n",
    "v_2=36*(1000/3600) # m/s # speed of the car after 10 seconds\n",
    "t=10 # seconds\n",
    "# Calculations\n",
    "A_n=v_1**2/r # m/s**2 # normal component of acceleration\n",
    "A_t=0 # since dv/dt=0 # tangential component of acceeration\n",
    "delv=v_1-v_2\n",
    "delt=t-0\n",
    "a_t=delv/delt # m/s**2 # tangential component of deceleration after the brakes are applied\n",
    "a_n=v_1**2/r # m/s**2 # normal component of deceleration  after the brakes are applied\n",
    "# Results\n",
    "print('The normal component of acceleration is %f m/s**2'%A_n)\n",
    "print('The tangential component of acceleration is %f m/s**2'%A_t)\n",
    "print('The normal component of deceleration is %f m/s**2'%a_n)\n",
    "print('The tangential component of deceleration is %f m/s**2'%a_t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.3 Components of Acceleration"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The distance  traveled by the car is 93.750000 m\n",
      "The time for which the car travels is 17.677670 seconds\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "#Initialization of variables\n",
    "r=250 # m # radius of the curved road\n",
    "a_t=0.6 # m/s**2 # tangential acceleration\n",
    "a=0.75 # m/s**2 # total acceleration attained by the car\n",
    "# Calculations\n",
    "a_n=math.sqrt(a**2-a_t**2) # m/s**2\n",
    "v=math.sqrt(a_n*r) # m/s\n",
    "# Using v=u+a*t\n",
    "u=0\n",
    "t=v/a_t # seconds\n",
    "# Now using v**2-u**2=2*a*s\n",
    "s=v**2/(2*a_t) # m\n",
    "# Results\n",
    "print('The distance  traveled by the car is %f m'%s)\n",
    "print('The time for which the car travels is %f seconds'%t)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.5 Motion of a particle on a curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The component of velocity in X direction (v_x) is 6.816388 m/s\n",
      "The component of velocity in Y direction (v_y) is 7.316889 m/s\n",
      "The component of acceleration in X direction (a_x) is 0.365844 m/s**2\n",
      "The component of acceleration in Y direction (a_y) is 0.340959 m/s**2\n",
      "The total acceleration is 0.500095 m/s**2 and its direction is 42.983499 degrees\n",
      "The normal acceleration is 0.500000 m/s**2 and tangential acceleration is 0.000000 m/s**2\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "# Initialization of variables\n",
    "v=10 # m/s # speed of the car\n",
    "r=200 # m # radius of the road\n",
    "t=15 # seconds\n",
    "# Calculations\n",
    "omega=(v/r) # radian/seconds # angular velocity of the car\n",
    "# Velocity in x & y direction is given by eq'n\n",
    "v_x=omega*r*(math.sin((omega*(180/math.pi)*t)*math.pi/180)) # m/s # value of v_x is -ve but we consider it to be +ve for calculations\n",
    "v_y=omega*r*(math.cos((omega*(180/math.pi)*t)*math.pi/180)) # m/s\n",
    "# Acceleration in x & y direction is given by\n",
    "a_x=omega**2*r*(math.cos((omega*(180/math.pi)*t)*math.pi/180)) # m/s**2 # value of a_x is -ve but we consider it to be +ve for calculations\n",
    "a_y=omega**2*r*(math.sin((omega*(180/3.14)*t)*math.pi/180)) # m/s**2 # value of a_y is -ve but we consider it to be +ve for calculations\n",
    "a=math.sqrt(a_x**2+a_y**2) # m/s**2 # total acc\n",
    "phi=math.degrees(math.atan(a_y/a_x)) # degrees # direction of acceleration\n",
    "# Components in tangential and normal directions\n",
    "# Velocity\n",
    "v_n=0 # m/s\n",
    "v_t=v # m/s\n",
    "# Acceleration\n",
    "a_n=v**2/r # m/s**2 # normal acc\n",
    "a_t=0 # tangential acc\n",
    "# angular position of the car after 15 sec \n",
    "theta=omega*(180/math.pi)*t # degrees\n",
    "# Results\n",
    "print('The component of velocity in X direction (v_x) is %f m/s'%v_x)\n",
    "print('The component of velocity in Y direction (v_y) is %f m/s'%v_y)\n",
    "print('The component of acceleration in X direction (a_x) is %f m/s**2'%a_x)\n",
    "print('The component of acceleration in Y direction (a_y) is %f m/s**2'%a_y)\n",
    "print('The total acceleration is %f m/s**2 and its direction is %f degrees'%(a,phi))\n",
    "print('The normal acceleration is %f m/s**2 and tangential acceleration is %f m/s**2'%(a_n,a_t))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.6 Motion of a particle on a curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The velocity of the collar is 1.117599 m/s\n",
      "The accelaration of the collar is 6.674415 m/s**2\n",
      "The acceleration of the collar relative to the rod is -2.900000 m/s**2\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "# Initialization of variables\n",
    "t=1 # seconds\n",
    "# Calculations\n",
    "# From the equations of r and theta given we find 1st & 2nd derative and substitute t=1sec Here we consider the 1st derative as r_1 & theta_1 and so on...\n",
    "r=(1.25*t**2)-(0.9*t**3) # m\n",
    "r_1=(1.25*(2*t))-(0.9*(3*t**2)) # m/s\n",
    "r_2=2.5-(0.9*3*(2*t)) # m/s**2\n",
    "theta=(math.pi/2)*(4*t-3*t**2) # radian\n",
    "theta_1=(math.pi/2)*(4-(6*t)) # rad/second\n",
    "theta_2=(math.pi/2)*(0-(6*t)) # rad/second**2\n",
    "# Velocity of collar P\n",
    "v_r=r_1 # m/s\n",
    "v_theta=r*theta_1 # m/s\n",
    "v=math.sqrt(v_r**2+v_theta**2) # m/s\n",
    "alpha=math.degrees(math.atan(v_theta/v_r)) # degree\n",
    "# Acceleration of the collar P\n",
    "a_r=r_2-(r*theta_1**2) # m/s**2\n",
    "a_theta=(r*theta_2)+(2*r_1*theta_1) # m/s**2\n",
    "a=math.sqrt(a_r**2+a_theta**2) # m/s**2\n",
    "beta=math.degrees(math.atan(a_theta/a_r)) # degree\n",
    "# Acceleration of collar P relative to the rod. Let it be a_relative\n",
    "a_relative=r_2 # m/s**2 # towards O\n",
    "# Calculations\n",
    "print('The velocity of the collar is %f m/s'%v)\n",
    "print('The accelaration of the collar is %f m/s**2'%a)\n",
    "print('The acceleration of the collar relative to the rod is %f m/s**2'%a_relative)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.7 Components of motion"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The velocity and the acceleration of the partice at t=0 s is 10.000000 cm/s & 125.663706 cm/s**2\n",
      "The velocity and the acceleration of the partice at t=0.3 s is 21.337895 cm/s & 172.679692 cm/s**2\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "# Consider the eq'ns of motion from the book\n",
    "# The notations have been changed for the derivatives of r & theta\n",
    "# (1) At t=0 s\n",
    "theta_0=0\n",
    "theta_1=2*math.pi # rad/s\n",
    "theta_2=0\n",
    "r_0=0\n",
    "r_1=10 # cm/s\n",
    "r_2=0\n",
    "# At t=0.3 s\n",
    "t=0.3 # sec\n",
    "theta=2*math.pi*t # rad\n",
    "theta1=2*math.pi # rad/s\n",
    "theta2=0\n",
    "r=10*t # cm\n",
    "r1=10 # cm/s\n",
    "r2=0\n",
    "# (i) \n",
    "#Velocity\n",
    "v_r=r_1 # cm/s\n",
    "v_theta=r_0*theta_1\n",
    "v=math.sqrt(v_r**2+v_theta**2) # cm/s\n",
    "# Acceleration\n",
    "a_r=r_2-(r_0*theta_1**2) # cm/s**2\n",
    "a_theta=(r_0*theta_2)+(2*r_1*theta_1) # cm/s**2\n",
    "a=math.sqrt(a_r**2+a_theta**2) # cm/s**2\n",
    "# (ii)\n",
    "# Velocity\n",
    "V_R=r1 # cm/s\n",
    "V_theta=r*theta1 # cm/s\n",
    "V=math.sqrt(V_R**2+V_theta**2) # cm/s\n",
    "# Acceleration\n",
    "A_r=r2-(r*theta1**2) # cm/s**2\n",
    "A_theta=(r*theta2)+(2*r1*theta1) # cm/s**2\n",
    "A=math.sqrt(A_r**2+A_theta**2) # cm/s**2\n",
    "# Results\n",
    "print('The velocity and the acceleration of the partice at t=0 s is %f cm/s & %f cm/s**2'%(v,a))\n",
    "print('The velocity and the acceleration of the partice at t=0.3 s is %f cm/s & %f cm/s**2'%(V,A))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.9 Equations of dynamic equilibrium"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The tension in the wire before and after it is cut is respectively 0.394895 W & 0.766044 W\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "# Calculations\n",
    "# Tension in the wire before it is cut\n",
    "T_ab=1/((2.747*0.643)+(0.766)) # From eqn's 1 & 2..Here T_ab is multiplied with W (i.e weight of small ball) \n",
    "T_AB=math.cos(40*math.pi/180) # Tension in the wire after the wire is cut. Again T_AB is multiplied with W.\n",
    "# Results\n",
    "print('The tension in the wire before and after it is cut is respectively %f W & %f W'%(T_ab,T_AB))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.10 Equations of dynamic equilibrium"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The coefficient of friction of block B is 0.565897\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "mu_a=0.40 # coefficient of friction under block A\n",
    "n=40 # r.p.m # speed of rotation of frame\n",
    "W_A=120 # N # weight of block A\n",
    "W_B=80 # N # weight of block B\n",
    "r_1=1.2 # m # distance between W_A & axis of rotation\n",
    "r_2=1.6 # m # distance between W_B & axis of rotation\n",
    "g=9.81 # m/s**2\n",
    "# Calculations\n",
    "# Consider the F.B.D of block A\n",
    "N=W_A # N # sum F_y=0\n",
    "omega=(2*math.pi*n)/60 # rad/sec\n",
    "a_n=omega**2*r_1 # m/s**2\n",
    "T=((W_A/g)*a_n)-(mu_a*W_A) # N\n",
    "# Now consider the F.B.D of block B\n",
    "A_n=omega**2*r_2 # m/s**2\n",
    "N_1=(W_B/g)*A_n # N # sum F_x=0\n",
    "mu=(T-W_B)/N_1 # sum F_x=0\n",
    "# Results\n",
    "print('The coefficient of friction of block B is %f'%mu)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.12 Motion of particle on curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The maximum lateral thrust is 500.000000 N\n"
     ]
    }
   ],
   "source": [
    "#Initialization of variables\n",
    "W=10000 # N # Weight of the locomotive\n",
    "# Calculations\n",
    "# Consider the various derivations given in the textbook\n",
    "R_max=W/20 # N # eq'n for  max reaction\n",
    "# The position of occurence of maximum thrust cannot be defined here. Refer textbook for the answer\n",
    "# Results\n",
    "print('The maximum lateral thrust is %f N'%R_max)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.13 Motion of a particle on curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The value of the reaction is 31.932454 N\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "# Initialization of variables\n",
    "W=10 # N # Weight of the ball\n",
    "# Calculations\n",
    "# consider the eq'n derived to find the reaction, given as\n",
    "R=W*(1+((2*math.pi**2)/9)) # N \n",
    "# Results\n",
    "print('The value of the reaction is %f N'%R)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.15 Motion of a particle in a curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The speed of rotation is 101.634363 r.p.m\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "P=50 # N # Weight of ball P\n",
    "Q=50 # N # Weight of ball Q\n",
    "R=100 # N # Weight of the governing device\n",
    "l=0.3 # m # length of each side\n",
    "theta=30 # degree\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# Consider the respective F.B.D\n",
    "r=l*math.sin(theta*math.pi/180) # m # Radius of circe\n",
    "# On solving eqn's 1,2 &3 we get the value of v as,\n",
    "v=math.sqrt(((Q+R)*g*r)/((math.sqrt(3))*Q)) # m/s \n",
    "# But the eq'n v=omega*r we get the value of N as,\n",
    "N=(60*v)/(2*math.pi*r) # r.p.m \n",
    "# Results\n",
    "print('The speed of rotation is %f r.p.m'%N)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.16 Motion of a particle in a curved frictionless path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The speed of the fly-balls is 101.634363 r.p.m\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "# Initilization of variables\n",
    "Q=20 # N # Weight of the governor device\n",
    "W=10 # N # Weight of the fly balls\n",
    "theta=30 # degree # angle between the vertical shaft and the axis AB\n",
    "l=0.2 # m # length of the shaft\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# Consider the respective F.B.D\n",
    "# Radius of the circle is given as,\n",
    "r=Q*math.sin(theta*math.pi/180)*(10**-2) # m \n",
    "# Solving eq'n 1 & 2 for v. The eq'n for v is given as,\n",
    "v=math.sqrt(((W*l*0.5)+(0.05*Q))/((W*0.2*math.sqrt(3))/(2*g*r))) # m/s\n",
    "# But, v=r*omega=2*pi*N*r/60. From this eq'n we get N as,\n",
    "N=(v*60)/(2*math.pi*r) # r.p.m.\n",
    "# Results\n",
    "print('The speed of the fly-balls is %f r.p.m'%N)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.18 Motion of vehicles on leveled and banked roads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The maximum speed with which the vehicle can travel is 8.577587 m/s\n",
      "The angle made with the vertical is 8.530766 degree\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "r=50 # m # radius of the road\n",
    "mu=0.15 # coefficient of friction between the wheels and the road\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# The eq'n fo max speed of the vehicle without skidding is \n",
    "v=math.sqrt(mu*g*r) # m/s\n",
    "# The angle theta made with the vertical while negotiating the corner is \n",
    "theta=math.degrees(math.atan(v**2/(g*r))) # degree\n",
    "# Results\n",
    "print('The maximum speed with which the vehicle can travel is %f m/s'%v)\n",
    "print('The angle made with the vertical is %f degree'%theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.19 Motion of vehicles on leveled and banked roads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The angle of banking of the track is 17.464605 degree\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "v=100*(1000/3600) # m/s # or 100 km/hr\n",
    "r=250 # m # radius of the road\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# The angle of banking is given by eq'n,\n",
    "theta=math.degrees(math.atan((v**2)/(g*r))) # degree \n",
    "# Results\n",
    "print('The angle of banking of the track is %f degree'%theta)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.20 Motion of vehicles on leveled and banked roads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The reaction at Wheel A (R_A) is 4660.210669 N\n",
      "The reaction at Wheel B (R_B) is 5339.789331 N\n",
      "The maximum speed at which the vehicle can travel without the fear of overturning is is 27.124712 m/s\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "W=10000 # N # Weight of the car\n",
    "r=100 # m # radius of the road\n",
    "v=10 # m/s # speed of the car\n",
    "h=1 # m # height of the C.G of the car above the ground\n",
    "b=1.5 # m # distance between the wheels\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# The reactions at the wheels are given by te eq'ns:\n",
    "R_A=(W/2)*(1-((v**2*h)/(g*r*b))) # N # Reaction at A\n",
    "R_B=(W/2)*(1+((v**2*h)/(g*r*b))) # N # Reaction at B\n",
    "# The eq'n for max speed to avoid overturning on level ground is,\n",
    "v_max=math.sqrt((g*r*(b/2))/(h)) # m/s\n",
    "# Results\n",
    "print('The reaction at Wheel A (R_A) is %f N'%R_A)\n",
    "print('The reaction at Wheel B (R_B) is %f N'%R_B)\n",
    "print('The maximum speed at which the vehicle can travel without the fear of overturning is is %f m/s'%v_max)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Example 15.21 Motion of vehicles on leveled and banked roads"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The speed of the cariage is 42.270586 km/hr\n",
      "The tension in the chord is 1.009828 N\n"
     ]
    }
   ],
   "source": [
    "from __future__ import division\n",
    "import math\n",
    "#Initialization of variables\n",
    "W=1 # N # Weight of the bob\n",
    "theta=8 # degree # angle made by the bob with the vertical\n",
    "r=100 # m # radius of the curve\n",
    "g=9.81 # m/s**2 # acc due to gravity\n",
    "# Calculations\n",
    "# from eq'n 1 & 2 we get v as,\n",
    "v=(math.sqrt(g*r*math.tan(theta*math.pi/180)))*(3600/1000) # km/hr \n",
    "T=W/math.cos(theta*math.pi/180) # N # from eq'n 2\n",
    "# Results\n",
    "print('The speed of the cariage is %f km/hr'%v)\n",
    "print('The tension in the chord is %f N'%T)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python [Root]",
   "language": "python",
   "name": "Python [Root]"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.12"
  },
  "widgets": {
   "state": {},
   "version": "1.1.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
