10041978e:	66 90                	xchg   %ax,%ax
100419790:	41 57                	push   %r15
100419792:	41 56                	push   %r14
100419794:	41 55                	push   %r13
100419796:	41 54                	push   %r12
100419798:	55                   	push   %rbp
100419799:	57                   	push   %rdi
10041979a:	56                   	push   %rsi
10041979b:	53                   	push   %rbx
10041979c:	48 83 ec 48          	sub    $0x48,%rsp
1004197a0:	48 8b 72 48          	mov    0x48(%rdx),%rsi
1004197a4:	4c 8b aa b8 00 00 00 	mov    0xb8(%rdx),%r13
1004197ab:	48 8b aa 98 00 00 00 	mov    0x98(%rdx),%rbp
1004197b2:	4c 8d 34 f5 00 00 00 	lea    0x0(,%rsi,8),%r14
1004197b9:	00
1004197ba:	4d 01 f5             	add    %r14,%r13
1004197bd:	48 89 cf             	mov    %rcx,%rdi
1004197c0:	48 89 d3             	mov    %rdx,%rbx
1004197c3:	48 39 b2 c0 00 00 00 	cmp    %rsi,0xc0(%rdx)
1004197ca:	7d 34                	jge    100419800 <.text+0x18800>
1004197cc:	4d 89 45 00          	mov    %r8,0x0(%r13)
1004197d0:	4d 89 c4             	mov    %r8,%r12
1004197d3:	48 89 b2 c0 00 00 00 	mov    %rsi,0xc0(%rdx)
1004197da:	48 83 bd 98 00 00 00 	cmpq   $0x0,0x98(%rbp)
1004197e1:	00
1004197e2:	0f 85 f8 00 00 00    	jne    1004198e0 <.text+0x188e0>
1004197e8:	4c 89 e0             	mov    %r12,%rax
1004197eb:	48 83 c4 48          	add    $0x48,%rsp
1004197ef:	5b                   	pop    %rbx
1004197f0:	5e                   	pop    %rsi
1004197f1:	5f                   	pop    %rdi
1004197f2:	5d                   	pop    %rbp
1004197f3:	41 5c                	pop    %r12
1004197f5:	41 5d                	pop    %r13
1004197f7:	41 5e                	pop    %r14
1004197f9:	41 5f                	pop    %r15
1004197fb:	c3                   	ret
1004197fc:	0f 1f 40 00          	nopl   0x0(%rax)
100419800:	49 8b 45 00          	mov    0x0(%r13),%rax
100419804:	48 85 c0             	test   %rax,%rax
100419807:	0f 84 c3 00 00 00    	je     1004198d0 <.text+0x188d0>
10041980d:	48 8b 40 50          	mov    0x50(%rax),%rax
100419811:	4d 85 c0             	test   %r8,%r8
100419814:	74 72                	je     100419888 <.text+0x18888>
100419816:	4d 8b 68 50          	mov    0x50(%r8),%r13
10041981a:	4c 8d 7c 24 20       	lea    0x20(%rsp),%r15
10041981f:	49 89 c0             	mov    %rax,%r8
100419822:	4c 89 f9             	mov    %r15,%rcx
100419825:	4c 89 ea             	mov    %r13,%rdx
100419828:	e8 43 b0 ff ff       	call   100414870 <.text+0x13870>
10041982d:	89 07                	mov    %eax,(%rdi)
10041982f:	85 c0                	test   %eax,%eax
100419831:	0f 85 f9 00 00 00    	jne    100419930 <.text+0x18930>
100419837:	48 8b 43 48          	mov    0x48(%rbx),%rax
10041983b:	44 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%r8d
100419842:	48 89 d9             	mov    %rbx,%rcx
100419845:	48 8d 50 ff          	lea    -0x1(%rax),%rdx
100419849:	e8 72 96 ff ff       	call   100412ec0 <.text+0x11ec0>
10041984e:	4d 89 f8             	mov    %r15,%r8
100419851:	48 89 ea             	mov    %rbp,%rdx
100419854:	48 89 f9             	mov    %rdi,%rcx
100419857:	41 89 c1             	mov    %eax,%r9d
10041985a:	4c 03 b3 b8 00 00 00 	add    0xb8(%rbx),%r14
100419861:	e8 8a cc ff ff       	call   1004164f0 <.text+0x154f0>
100419866:	49 89 06             	mov    %rax,(%r14)
100419869:	49 89 c4             	mov    %rax,%r12
10041986c:	4d 85 ed             	test   %r13,%r13
10041986f:	0f 84 65 ff ff ff    	je     1004197da <.text+0x187da>
100419875:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
10041987a:	e8 c1 60 ff ff       	call   10040f940 <.text+0xe940>
10041987f:	e9 56 ff ff ff       	jmp    1004197da <.text+0x187da>
100419884:	0f 1f 40 00          	nopl   0x0(%rax)
100419888:	f3 0f 6f 00          	movdqu (%rax),%xmm0
10041988c:	44 8b 83 a0 00 00 00 	mov    0xa0(%rbx),%r8d
100419893:	48 8d 56 ff          	lea    -0x1(%rsi),%rdx
100419897:	48 89 d9             	mov    %rbx,%rcx
10041989a:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
10041989f:	48 8b 40 10          	mov    0x10(%rax),%rax
1004198a3:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1004198a8:	e8 13 96 ff ff       	call   100412ec0 <.text+0x11ec0>
1004198ad:	4c 8d 44 24 20       	lea    0x20(%rsp),%r8
1004198b2:	48 89 ea             	mov    %rbp,%rdx
1004198b5:	48 89 f9             	mov    %rdi,%rcx
1004198b8:	41 89 c1             	mov    %eax,%r9d
1004198bb:	e8 30 cc ff ff       	call   1004164f0 <.text+0x154f0>
1004198c0:	49 89 45 00          	mov    %rax,0x0(%r13)
1004198c4:	49 89 c4             	mov    %rax,%r12
1004198c7:	e9 0e ff ff ff       	jmp    1004197da <.text+0x187da>
1004198cc:	0f 1f 40 00          	nopl   0x0(%rax)
1004198d0:	4d 89 45 00          	mov    %r8,0x0(%r13)
1004198d4:	4d 89 c4             	mov    %r8,%r12
1004198d7:	e9 fe fe ff ff       	jmp    1004197da <.text+0x187da>
1004198dc:	0f 1f 40 00          	nopl   0x0(%rax)
1004198e0:	4d 85 e4             	test   %r12,%r12
1004198e3:	74 4b                	je     100419930 <.text+0x18930>
1004198e5:	4d 8d 6c 24 08       	lea    0x8(%r12),%r13
1004198ea:	49 89 f0             	mov    %rsi,%r8
1004198ed:	48 89 d9             	mov    %rbx,%rcx
1004198f0:	4c 89 ea             	mov    %r13,%rdx
1004198f3:	e8 f8 97 ff ff       	call   1004130f0 <.text+0x120f0>
1004198f8:	89 07                	mov    %eax,(%rdi)
1004198fa:	85 c0                	test   %eax,%eax
1004198fc:	75 32                	jne    100419930 <.text+0x18930>
1004198fe:	41 f6 44 24 68 40    	testb  $0x40,0x68(%r12)
100419904:	0f 84 de fe ff ff    	je     1004197e8 <.text+0x187e8>
10041990a:	4c 89 ea             	mov    %r13,%rdx
10041990d:	48 89 d9             	mov    %rbx,%rcx
100419910:	e8 ab f6 ff ff       	call   100418fc0 <.text+0x17fc0>
100419915:	89 07                	mov    %eax,(%rdi)
100419917:	85 c0                	test   %eax,%eax
100419919:	75 15                	jne    100419930 <.text+0x18930>
10041991b:	48 8b 83 b8 00 00 00 	mov    0xb8(%rbx),%rax
100419922:	4c 8b 24 f0          	mov    (%rax,%rsi,8),%r12
100419926:	e9 bd fe ff ff       	jmp    1004197e8 <.text+0x187e8>
10041992b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
100419930:	45 31 e4             	xor    %r12d,%r12d
100419933:	e9 b0 fe ff ff       	jmp    1004197e8 <.text+0x187e8>
100419938:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
10041993f:	00
100419940:	55                   	push   %rbp
100419941:	57                   	push   %rdi
100419942:	56                   	push   %rsi
100419943:	53                   	push   %rbx
100419944:	48 83 ec 38          	sub    $0x38,%rsp
100419948:	48 8b 31             	mov    (%rcx),%rsi
10041994b:	48 89 d5             	mov    %rdx,%rbp
10041994e:	48 89 cb             	mov    %rcx,%rbx
100419951:	48 8d 7c 24 28       	lea    0x28(%rsp),%rdi
100419956:	48 63 92 80 00 00 00 	movslq 0x80(%rdx),%rdx
10041995d:	eb 0b                	jmp    10041996a <.text+0x1896a>
10041995f:	90                   	nop
100419960:	48 8d 7e 08          	lea    0x8(%rsi),%rdi
100419964:	48 89 c3             	mov    %rax,%rbx
100419967:	48 63 d1             	movslq %ecx,%rdx
10041996a:	83 fa 0f             	cmp    $0xf,%edx
10041996d:	0f 84 b5 00 00 00    	je     100419a28 <.text+0x18a28>
100419973:	48 8b 45 70          	mov    0x70(%rbp),%rax
100419977:	8d 4a 01             	lea    0x1(%rdx),%ecx
10041997a:	48 c1 e2 06          	shl    $0x6,%rdx
10041997e:	89 8d 80 00 00 00    	mov    %ecx,0x80(%rbp)
100419984:	4c 8d 44 10 08       	lea    0x8(%rax,%rdx,1),%r8
100419989:	48 01 d0             	add    %rdx,%rax
10041998c:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
100419993:	00
100419994:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
10041999b:	00
10041999c:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
1004199a3:	00
1004199a4:	f3 0f 6f 43 28       	movdqu 0x28(%rbx),%xmm0
1004199a9:	48 c7 40 20 00 00 00 	movq   $0x0,0x20(%rax)
1004199b0:	00
1004199b1:	0f 11 40 30          	movups %xmm0,0x30(%rax)
1004199b5:	48 c7 40 28 00 00 00 	movq   $0x0,0x28(%rax)
1004199bc:	00
1004199bd:	80 60 3a f3          	andb   $0xf3,0x3a(%rax)
1004199c1:	48 c7 40 40 ff ff ff 	movq   $0xffffffffffffffff,0x40(%rax)
1004199c8:	ff
1004199c9:	4c 89 07             	mov    %r8,(%rdi)
1004199cc:	4d 85 c0             	test   %r8,%r8
1004199cf:	74 47                	je     100419a18 <.text+0x18a18>
1004199d1:	48 89 70 08          	mov    %rsi,0x8(%rax)
1004199d5:	48 8b 37             	mov    (%rdi),%rsi
1004199d8:	80 4e 32 04          	orb    $0x4,0x32(%rsi)
1004199dc:	48 8b 43 08          	mov    0x8(%rbx),%rax
1004199e0:	48 85 c0             	test   %rax,%rax
1004199e3:	0f 85 77 ff ff ff    	jne    100419960 <.text+0x18960>
1004199e9:	eb 08                	jmp    1004199f3 <.text+0x189f3>
1004199eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1004199f0:	48 89 d3             	mov    %rdx,%rbx
1004199f3:	48 8b 53 10          	mov    0x10(%rbx),%rdx
1004199f7:	48 85 d2             	test   %rdx,%rdx
1004199fa:	74 09                	je     100419a05 <.text+0x18a05>
1004199fc:	48 39 c2             	cmp    %rax,%rdx
1004199ff:	0f 85 9b 00 00 00    	jne    100419aa0 <.text+0x18aa0>
100419a05:	48 8b 13             	mov    (%rbx),%rdx
100419a08:	48 8b 36             	mov    (%rsi),%rsi
100419a0b:	48 89 d8             	mov    %rbx,%rax
100419a0e:	48 85 d2             	test   %rdx,%rdx
100419a11:	75 dd                	jne    1004199f0 <.text+0x189f0>
100419a13:	4c 8b 44 24 28       	mov    0x28(%rsp),%r8
100419a18:	4c 89 c0             	mov    %r8,%rax
100419a1b:	48 83 c4 38          	add    $0x38,%rsp
100419a1f:	5b                   	pop    %rbx
100419a20:	5e                   	pop    %rsi
100419a21:	5f                   	pop    %rdi
100419a22:	5d                   	pop    %rbp
100419a23:	c3                   	ret
100419a24:	0f 1f 40 00          	nopl   0x0(%rax)
100419a28:	b9 c8 03 00 00       	mov    $0x3c8,%ecx
100419a2d:	e8 2e 7f 00 00       	call   100421960 <.text+0x20960>
100419a32:	48 85 c0             	test   %rax,%rax
100419a35:	74 75                	je     100419aac <.text+0x18aac>
100419a37:	48 8b 55 70          	mov    0x70(%rbp),%rdx
100419a3b:	48 c7 40 08 00 00 00 	movq   $0x0,0x8(%rax)
100419a42:	00
100419a43:	b9 01 00 00 00       	mov    $0x1,%ecx
100419a48:	48 c7 40 10 00 00 00 	movq   $0x0,0x10(%rax)
100419a4f:	00
100419a50:	48 c7 40 18 00 00 00 	movq   $0x0,0x18(%rax)
100419a57:	00
100419a58:	f3 0f 6f 4b 28       	movdqu 0x28(%rbx),%xmm1
100419a5d:	48 89 10             	mov    %rdx,(%rax)
100419a60:	48 8d 50 08          	lea    0x8(%rax),%rdx
100419a64:	0f 11 48 30          	movups %xmm1,0x30(%rax)
100419a68:	48 89 45 70          	mov    %rax,0x70(%rbp)
100419a6c:	80 60 3a f3          	andb   $0xf3,0x3a(%rax)
100419a70:	c7 85 80 00 00 00 01 	movl   $0x1,0x80(%rbp)
100419a77:	00 00 00
100419a7a:	48 c7 40 20 00 00 00 	movq   $0x0,0x20(%rax)
100419a81:	00
100419a82:	48 c7 40 28 00 00 00 	movq   $0x0,0x28(%rax)
100419a89:	00
100419a8a:	48 c7 40 40 ff ff ff 	movq   $0xffffffffffffffff,0x40(%rax)
100419a91:	ff
100419a92:	48 89 17             	mov    %rdx,(%rdi)
100419a95:	e9 37 ff ff ff       	jmp    1004199d1 <.text+0x189d1>
100419a9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
100419aa0:	48 8d 7e 10          	lea    0x10(%rsi),%rdi
100419aa4:	48 89 d3             	mov    %rdx,%rbx
100419aa7:	e9 bb fe ff ff       	jmp    100419967 <.text+0x18967>
100419aac:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
100419ab3:	45 31 c0             	xor    %r8d,%r8d
100419ab6:	e9 5d ff ff ff       	jmp    100419a18 <.text+0x18a18>
100419abb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
100419ac0:	41 57                	push   %r15
100419ac2:	b8 a8 50 00 00       	mov    $0x50a8,%eax
100419ac7:	41 56                	push   %r14
100419ac9:	41 55                	push   %r13
100419acb:	41 54                	push   %r12
100419acd:	55                   	push   %rbp
100419ace:	57                   	push   %rdi
100419acf:	56                   	push   %rsi
100419ad0:	53                   	push   %rbx
100419ad1:	e8 2a 7a 00 00       	call   100421500 <.text+0x20500>
100419ad6:	48 29 c4             	sub    %rax,%rsp
100419ad9:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
100419ade:	48 89 94 24 f8 50 00 	mov    %rdx,0x50f8(%rsp)
100419ae5:	00
100419ae6:	48 c7 42 58 00 00 00 	movq   $0x0,0x58(%rdx)
100419aed:	00
100419aee:	48 c7 42 60 00 00 00 	movq   $0x0,0x60(%rdx)
100419af5:	00
100419af6:	48 c7 84 24 a0 00 00 	movq   $0x0,0xa0(%rsp)
100419afd:	00 00 00 00 00
100419b02:	48 c7 84 24 a8 00 00 	movq   $0x0,0xa8(%rsp)
100419b09:	00 00 00 00 00
100419b0e:	48 c7 84 24 b0 00 00 	movq   $0x0,0xb0(%rsp)
100419b15:	00 00 00 00 00
100419b1a:	48 c7 84 24 b8 00 00 	movq   $0x0,0xb8(%rsp)
100419b21:	00 00 00 00 00
100419b26:	0f 8e bb 09 00 00    	jle    10041a4e7 <.text+0x194e7>
100419b2c:	48 8d 84 24 a0 18 00 	lea    0x18a0(%rsp),%rax
100419b33:	00
100419b34:	48 89 8c 24 f0 50 00 	mov    %rcx,0x50f0(%rsp)
100419b3b:	00
100419b3c:	45 31 e4             	xor    %r12d,%r12d
100419b3f:	49 89 d0             	mov    %rdx,%r8
100419b42:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
100419b47:	48 8d 84 24 c0 00 00 	lea    0xc0(%rsp),%rax
100419b4e:	00
100419b4f:	48 c7 44 24 28 00 00 	movq   $0x0,0x28(%rsp)
100419b56:	00 00
100419b58:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
100419b5d:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
100419b62:	48 8d 04 fd 00 00 00 	lea    0x0(,%rdi,8),%rax
100419b69:	00
100419b6a:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
100419b6f:	49 8b 40 18          	mov    0x18(%r8),%rax
100419b73:	4c 8b 3c f8          	mov    (%rax,%rdi,8),%r15
100419b77:	48 8b 84 24 f0 50 00 	mov    0x50f0(%rsp),%rax
100419b7e:	00
100419b7f:	49 c1 e7 04          	shl    $0x4,%r15
100419b83:	4c 03 38             	add    (%rax),%r15
100419b86:	41 8b 47 08          	mov    0x8(%r15),%eax
100419b8a:	45 0f b6 77 08       	movzbl 0x8(%r15),%r14d
100419b8f:	c1 e8 08             	shr    $0x8,%eax
100419b92:	66 25 ff 03          	and    $0x3ff,%ax
100419b96:	41 83 fe 01          	cmp    $0x1,%r14d
100419b9a:	0f 84 b0 02 00 00    	je     100419e50 <.text+0x18e50>
100419ba0:	41 83 fe 03          	cmp    $0x3,%r14d
100419ba4:	0f 84 d4 06 00 00    	je     10041a27e <.text+0x1927e>
100419baa:	41 83 fe 05          	cmp    $0x5,%r14d
100419bae:	0f 84 54 06 00 00    	je     10041a208 <.text+0x19208>
100419bb4:	41 83 fe 07          	cmp    $0x7,%r14d
100419bb8:	0f 84 58 07 00 00    	je     10041a316 <.text+0x19316>
100419bbe:	48 83 44 24 28 01    	addq   $0x1,0x28(%rsp)
100419bc4:	48 8b 44 24 28       	mov    0x28(%rsp),%rax
100419bc9:	49 3b 40 10          	cmp    0x10(%r8),%rax
100419bcd:	7c 8e                	jl     100419b5d <.text+0x18b5d>
100419bcf:	4c 8b b4 24 f0 50 00 	mov    0x50f0(%rsp),%r14
100419bd6:	00
100419bd7:	4d 85 e4             	test   %r12,%r12
100419bda:	0f 8e 01 09 00 00    	jle    10041a4e1 <.text+0x194e1>
100419be0:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
100419be7:	00 00
100419be9:	49 8d 44 24 01       	lea    0x1(%r12),%rax
100419bee:	48 8d 1c c5 00 00 00 	lea    0x0(,%rax,8),%rbx
100419bf5:	00
100419bf6:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
100419bfb:	48 89 d9             	mov    %rbx,%rcx
100419bfe:	e8 5d 7d 00 00       	call   100421960 <.text+0x20960>
100419c03:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
100419c08:	48 89 c7             	mov    %rax,%rdi
100419c0b:	48 85 c0             	test   %rax,%rax
100419c0e:	0f 84 6c 08 00 00    	je     10041a480 <.text+0x19480>
100419c14:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
100419c18:	c6 44 24 4f 00       	movb   $0x0,0x4f(%rsp)
100419c1d:	48 8d 6c 24 60       	lea    0x60(%rsp),%rbp
100419c22:	31 f6                	xor    %esi,%esi
100419c24:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
100419c29:	49 89 ed             	mov    %rbp,%r13
100419c2c:	48 8d 84 24 b0 18 00 	lea    0x18b0(%rsp),%rax
100419c33:	00
100419c34:	48 8d bc 24 a0 00 00 	lea    0xa0(%rsp),%rdi
100419c3b:	00
100419c3c:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
100419c41:	48 8d 84 24 a8 18 00 	lea    0x18a8(%rsp),%rax
100419c48:	00
100419c49:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
100419c4e:	48 8d 44 24 5c       	lea    0x5c(%rsp),%rax
100419c53:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%rsp)
100419c5a:	00
100419c5b:	48 c7 84 24 80 00 00 	movq   $0x0,0x80(%rsp)
100419c62:	00 00 00 00 00
100419c67:	48 c7 84 24 88 00 00 	movq   $0x0,0x88(%rsp)
100419c6e:	00 00 00 00 00
100419c73:	48 c7 84 24 90 00 00 	movq   $0x0,0x90(%rsp)
100419c7a:	00 00 00 00 00
100419c7f:	48 c7 84 24 98 00 00 	movq   $0x0,0x98(%rsp)
100419c86:	00 00 00 00 00
100419c8b:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
100419c90:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
100419c95:	48 8d 04 76          	lea    (%rsi,%rsi,2),%rax
100419c99:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
100419ca0:	00 00
100419ca2:	48 8b 2c 03          	mov    (%rbx,%rax,1),%rbp
100419ca6:	48 85 ed             	test   %rbp,%rbp
100419ca9:	7e 50                	jle    100419cfb <.text+0x18cfb>
100419cab:	48 8b 5c 24 28       	mov    0x28(%rsp),%rbx
100419cb0:	4c 8b 3c 18          	mov    (%rax,%rbx,1),%r15
100419cb4:	31 db                	xor    %ebx,%ebx
100419cb6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
100419cbd:	00 00 00
100419cc0:	49 8b 14 df          	mov    (%r15,%rbx,8),%rdx
100419cc4:	49 8b 46 18          	mov    0x18(%r14),%rax
100419cc8:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
100419ccc:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
100419cd0:	74 20                	je     100419cf2 <.text+0x18cf2>
100419cd2:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
100419cd6:	49 8b 46 30          	mov    0x30(%r14),%rax