	    "controller.animation.ak47_hold_tpp": {
	        "initial_state": "default",
	        "states": {
	            "default": {
	                "animations": [
						{
							"ak47_tpp_draw": "(variable.ak47_hold || variable.ak47_reload) && variable.is_third_person"
						}
	                    ],
	                    "transitions": [
	                        {
	                        "ak47_tpp_hold": "query.all_animations_finished && (variable.ak47_hold || variable.ak47_reload) && variable.is_third_person"
	                        }
	                  ]
	            },
	                  "ak47_tpp_hold": {
	                      "animations": [
						{
							"ak47_tpp_hold": "variable.is_third_person && variable.ak47_hold && (query.ground_speed <= 5 && !query.is_sneaking)"
						},
						{
						    "ak47_tpp_reload": "variable.ak47_reload && variable.is_third_person"
						}
	                   ],
	                   "transitions": [
						      {
                            "ak47_tpp_shoot":  "query.get_equipped_item_name('main_hand') == 'ak47' && !query.is_sneaking && query.is_using_item && variable.is_third_person"
						       },
						       {
							"ak47_tpp_in_run": "variable.is_third_person && variable.ak47_hold && query.ground_speed > 5"
							},
     						{
						    "ak47_tpp_in_aim": "variable.is_third_person && variable.ak47_hold && query.is_sneaking"
     						},			
							{
						           "default": "!(variable.ak47_hold || variable.ak47_reload)"
							}
	                       ]
	                  },
	                  "ak47_tpp_in_aim": {
	                      "animations": [
	                          "ak47_tpp_in_aim"
	                          ],
					"transitions": [
						{
							"ak47_tpp_aim": "variable.is_third_person && query.all_animations_finished"
						},					    
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },	            
	                  "ak47_tpp_aim": {
	                      "animations": [
	                          "ak47_tpp_aim"
	                          ],
					"transitions": [
							{
							    "ak47_tpp_aim_shoot": "variable.is_third_person && query.get_equipped_item_name ('main_hand') == 'ak47' && query.is_sneaking && query.is_using_item"
							},					    
						{
                         "ak47_tpp_out_aim": "variable.is_third_person && !variable.ak47_hold || !query.is_sneaking"
						},
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },
	                  "ak47_tpp_out_aim": {
	                      "animations": [
	                          "ak47_tpp_out_aim"
	                          ],
					"transitions": [
						{
							"ak47_tpp_hold": "variable.is_third_person && query.all_animations_finished"
						},					
						       {
							"ak47_tpp_in_run": "variable.is_third_person && variable.ak47_hold && query.ground_speed > 5"
							},						
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },	                  	   
	                  "ak47_tpp_in_run": {
	                      "animations": [
	                          "ak47_tpp_in_run"
	                          ],
					"transitions": [
						{
							"ak47_tpp_run": "variable.is_third_person && query.all_animations_finished"
						},					    
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },
	                  "ak47_tpp_run": {
	                      "animations": [
	                          "ak47_tpp_run"
	                          ],
					"transitions": [
						{
                         "ak47_tpp_out_run": "variable.is_third_person && !variable.ak47_hold || query.ground_speed <= 5"
						},
     						{
						    "ak47_tpp_in_aim": "variable.is_third_person && variable.ak47_hold && query.is_sneaking"
     						},
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },
	                  "ak47_tpp_out_run": {
	                      "animations": [
	                          "ak47_tpp_out_run"
	                          ],
					"transitions": [
						{
							"ak47_tpp_hold": "variable.is_third_person && query.all_animations_finished"
						},					   
						       {
							"ak47_tpp_in_run": "variable.is_third_person && variable.ak47_hold && (query.ground_speed > 5)"
							},		
							{
						    "ak47_tpp_in_aim": "variable.is_third_person && variable.ak47_hold && query.is_sneaking"							    
							},
						{
							"default": "!variable.ak47_hold"
						}
					]
	                  },	                  
	                  "ak47_tpp_shoot": {
	                      "animations": [
	                          "ak47_tpp_shoot"
	                          ],
	                          "transitions": [
	 						      {
							"ak47_tpp_shoot_auto": "variable.is_third_person && query.all_animations_finished"
						          }, 
	                              {
	                                  "default": "!variable.ak47_hold"
	                              }
	                        ]
	                  },
				"ak47_tpp_shoot_auto": {
					"animations": [ "ak47_tpp_hold" ],
					"on_entry": [
						"variable.bullet_fire = query.life_time;"
					],
					"transitions": [
						{
                         "ak47_tpp_hold": "variable.is_third_person && !variable.ak47_hold || !query.is_using_item"
						},
						{
							"ak47_tpp_shoot": "(query.life_time - variable.bullet_fire) >= 0.03"
						},
						{
							"default": "!variable.ak47_hold"
						}
					]
				},
	                  "ak47_tpp_aim_shoot": {
	                      "animations": [
	                          "ak47_tpp_aim_shoot"
	                          ],
	                          "transitions": [
	 						      {	"ak47_tpp_aim_shoot_auto": "variable.is_third_person && query.all_animations_finished"
						          }, 
	                              {
	                                  "default": "!variable.ak47_hold"
	                              }
	                        ]
	                  },
				"ak47_tpp_aim_shoot_auto": {
					"animations": [ "ak47_tpp_aim" ],
					"on_entry": [
						"variable.bullet_fire = query.life_time;"
					],
					"transitions": [
						{
                         "ak47_tpp_aim": "variable.is_third_person && !variable.ak47_hold || !query.is_using_item"
						},
						{
							"ak47_tpp_aim_shoot": "(query.life_time - variable.bullet_fire) >= 0.03"
						},
						{
							"default": "!variable.ak47_hold"
						}
					]
				  }
	          }
	       },