140197f89:	75 3c                	jne    0x140197fc7
140197f8b:	89 f0                	mov    %esi,%eax
140197f8d:	48 83 c4 58          	add    $0x58,%rsp
140197f91:	5b                   	pop    %rbx
140197f92:	5e                   	pop    %rsi
140197f93:	5f                   	pop    %rdi
140197f94:	5d                   	pop    %rbp
140197f95:	41 5c                	pop    %r12
140197f97:	41 5d                	pop    %r13
140197f99:	c3                   	ret
140197f9a:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
140197fa0:	48 8d 0d be 39 09 00 	lea    0x939be(%rip),%rcx        # 0x14022b965
140197fa7:	e8 f4 a6 ff ff       	call   0x1401926a0
140197fac:	48 89 05 05 26 11 00 	mov    %rax,0x112605(%rip)        # 0x1402aa5b8
140197fb3:	48 89 c1             	mov    %rax,%rcx
140197fb6:	e9 43 ff ff ff       	jmp    0x140197efe
140197fbb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140197fc0:	be ff ff ff ff       	mov    $0xffffffff,%esi
140197fc5:	eb ba                	jmp    0x140197f81
140197fc7:	e8 a4 c8 04 00       	call   0x1401e4870
140197fcc:	90                   	nop
140197fcd:	0f 1f 00             	nopl   (%rax)
140197fd0:	41 57                	push   %r15
140197fd2:	41 56                	push   %r14
140197fd4:	41 55                	push   %r13
140197fd6:	41 54                	push   %r12
140197fd8:	55                   	push   %rbp
140197fd9:	57                   	push   %rdi
140197fda:	56                   	push   %rsi
140197fdb:	53                   	push   %rbx
140197fdc:	48 81 ec f8 00 00 00 	sub    $0xf8,%rsp
140197fe3:	4c 8b 25 06 0b 0a 00 	mov    0xa0b06(%rip),%r12        # 0x140238af0
140197fea:	4c 8b aa b8 00 00 00 	mov    0xb8(%rdx),%r13
140197ff1:	49 8b 04 24          	mov    (%r12),%rax
140197ff5:	48 89 84 24 e8 00 00 	mov    %rax,0xe8(%rsp)
140197ffc:	00
140197ffd:	31 c0                	xor    %eax,%eax
140197fff:	48 89 cd             	mov    %rcx,%rbp
140198002:	48 8d 7c 24 68       	lea    0x68(%rsp),%rdi
140198007:	b9 0f 00 00 00       	mov    $0xf,%ecx
14019800c:	83 3a 02             	cmpl   $0x2,(%rdx)
14019800f:	48 89 d3             	mov    %rdx,%rbx
140198012:	44 89 c6             	mov    %r8d,%esi
140198015:	f3 48 ab             	rep stos %rax,%es:(%rdi)
140198018:	48 8b 05 a1 0e 0a 00 	mov    0xa0ea1(%rip),%rax        # 0x140238ec0
14019801f:	c6 84 24 d0 00 00 00 	movb   $0x8,0xd0(%rsp)
140198026:	08
140198027:	48 8d 7c 24 78       	lea    0x78(%rsp),%rdi
14019802c:	48 89 44 24 60       	mov    %rax,0x60(%rsp)
140198031:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
140198036:	75 2b                	jne    0x140198063
140198038:	44 8b 72 38          	mov    0x38(%rdx),%r14d
14019803c:	45 85 f6             	test   %r14d,%r14d
14019803f:	0f 85 f3 01 00 00    	jne    0x140198238
140198045:	48 85 ed             	test   %rbp,%rbp
140198048:	0f 84 fe 01 00 00    	je     0x14019824c
14019804e:	48 8d 7c 24 78       	lea    0x78(%rsp),%rdi
140198053:	48 89 f9             	mov    %rdi,%rcx
140198056:	e8 75 fe ff ff       	call   0x140197ed0
14019805b:	85 c0                	test   %eax,%eax
14019805d:	0f 85 e9 03 00 00    	jne    0x14019844c
140198063:	41 89 f6             	mov    %esi,%r14d
140198066:	41 83 e6 04          	and    $0x4,%r14d
14019806a:	4d 8b 45 30          	mov    0x30(%r13),%r8
14019806e:	48 8d 15 5b 40 09 00 	lea    0x9405b(%rip),%rdx        # 0x14022c0d0
140198075:	48 89 f9             	mov    %rdi,%rcx
140198078:	e8 e3 88 f0 ff       	call   0x1400a0960
14019807d:	44 8b 53 38          	mov    0x38(%rbx),%r10d
140198081:	45 85 d2             	test   %r10d,%r10d
140198084:	0f 85 66 01 00 00    	jne    0x1401981f0
14019808a:	44 8b 43 3c          	mov    0x3c(%rbx),%r8d
14019808e:	45 85 c0             	test   %r8d,%r8d
140198091:	0f 85 89 01 00 00    	jne    0x140198220
140198097:	48 8d 7c 24 60       	lea    0x60(%rsp),%rdi
14019809c:	48 8d 15 e7 37 09 00 	lea    0x937e7(%rip),%rdx        # 0x14022b88a
1401980a3:	48 89 f9             	mov    %rdi,%rcx
1401980a6:	e8 85 88 f0 ff       	call   0x1400a0930
1401980ab:	40 f6 c6 10          	test   $0x10,%sil
1401980af:	0f 84 8b 02 00 00    	je     0x140198340
1401980b5:	45 85 f6             	test   %r14d,%r14d
1401980b8:	0f 85 52 02 00 00    	jne    0x140198310
1401980be:	4c 8b 43 48          	mov    0x48(%rbx),%r8
1401980c2:	4d 85 c0             	test   %r8,%r8
1401980c5:	0f 84 61 02 00 00    	je     0x14019832c
1401980cb:	48 8d 15 4d 33 09 00 	lea    0x9334d(%rip),%rdx        # 0x14022b41f
1401980d2:	48 89 f9             	mov    %rdi,%rcx
1401980d5:	e8 86 88 f0 ff       	call   0x1400a0960
1401980da:	41 89 f5             	mov    %esi,%r13d
1401980dd:	41 89 f7             	mov    %esi,%r15d
1401980e0:	41 89 f6             	mov    %esi,%r14d
1401980e3:	41 83 e5 02          	and    $0x2,%r13d
1401980e7:	41 83 e7 40          	and    $0x40,%r15d
1401980eb:	41 83 e6 08          	and    $0x8,%r14d
1401980ef:	48 85 ed             	test   %rbp,%rbp
1401980f2:	0f 84 d0 01 00 00    	je     0x1401982c8
1401980f8:	45 31 c9             	xor    %r9d,%r9d
1401980fb:	49 89 e8             	mov    %rbp,%r8
1401980fe:	48 8d 15 0f 40 09 00 	lea    0x9400f(%rip),%rdx        # 0x14022c114
140198105:	48 89 f9             	mov    %rdi,%rcx
140198108:	e8 f3 88 f0 ff       	call   0x1400a0a00
14019810d:	45 85 f6             	test   %r14d,%r14d
140198110:	0f 85 5a 01 00 00    	jne    0x140198270
140198116:	45 85 ff             	test   %r15d,%r15d
140198119:	0f 85 91 01 00 00    	jne    0x1401982b0
14019811f:	45 85 ed             	test   %r13d,%r13d
140198122:	0f 85 bb 01 00 00    	jne    0x1401982e3
140198128:	8b 4b 10             	mov    0x10(%rbx),%ecx
14019812b:	83 e6 01             	and    $0x1,%esi
14019812e:	85 c9                	test   %ecx,%ecx
140198130:	75 0b                	jne    0x14019813d
140198132:	8b 53 08             	mov    0x8(%rbx),%edx
140198135:	85 d2                	test   %edx,%edx
140198137:	0f 84 43 02 00 00    	je     0x140198380
14019813d:	85 f6                	test   %esi,%esi
14019813f:	0f 85 51 01 00 00    	jne    0x140198296
140198145:	48 8d 15 f2 3f 09 00 	lea    0x93ff2(%rip),%rdx        # 0x14022c13e
14019814c:	48 89 f9             	mov    %rdi,%rcx
14019814f:	e8 dc 87 f0 ff       	call   0x1400a0930
140198154:	83 3b 02             	cmpl   $0x2,(%rbx)
140198157:	0f 85 9a 01 00 00    	jne    0x1401982f7
14019815d:	48 8d 74 24 40       	lea    0x40(%rsp),%rsi
140198162:	45 31 c9             	xor    %r9d,%r9d
140198165:	45 31 c0             	xor    %r8d,%r8d
140198168:	31 d2                	xor    %edx,%edx
14019816a:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
14019816f:	48 8b 05 2a 12 0a 00 	mov    0xa122a(%rip),%rax        # 0x1402393a0
140198176:	48 89 f9             	mov    %rdi,%rcx
140198179:	48 c7 44 24 30 00 00 	movq   $0x0,0x30(%rsp)
140198180:	00 00
140198182:	48 c7 44 24 20 00 00 	movq   $0x0,0x20(%rsp)
140198189:	00 00
14019818b:	80 8c 24 d0 00 00 00 	orb    $0x80,0xd0(%rsp)
140198192:	80
140198193:	48 c7 44 24 40 00 00 	movq   $0x0,0x40(%rsp)
14019819a:	00 00
14019819c:	48 c7 44 24 48 00 00 	movq   $0x0,0x48(%rsp)
1401981a3:	00 00
1401981a5:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1401981aa:	e8 61 51 ef ff       	call   0x14008d310
1401981af:	89 c3                	mov    %eax,%ebx
1401981b1:	85 c0                	test   %eax,%eax
1401981b3:	0f 85 e7 01 00 00    	jne    0x1401983a0
1401981b9:	48 89 f1             	mov    %rsi,%rcx
1401981bc:	e8 7f 27 f0 ff       	call   0x14009a940
1401981c1:	48 8b 84 24 e8 00 00 	mov    0xe8(%rsp),%rax
1401981c8:	00
1401981c9:	49 2b 04 24          	sub    (%r12),%rax
1401981cd:	0f 85 b7 02 00 00    	jne    0x14019848a
1401981d3:	89 d8                	mov    %ebx,%eax
1401981d5:	48 81 c4 f8 00 00 00 	add    $0xf8,%rsp
1401981dc:	5b                   	pop    %rbx
1401981dd:	5e                   	pop    %rsi
1401981de:	5f                   	pop    %rdi
1401981df:	5d                   	pop    %rbp
1401981e0:	41 5c                	pop    %r12
1401981e2:	41 5d                	pop    %r13
1401981e4:	41 5e                	pop    %r14
1401981e6:	41 5f                	pop    %r15
1401981e8:	c3                   	ret
1401981e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1401981f0:	44 8b 4b 3c          	mov    0x3c(%rbx),%r9d
1401981f4:	4c 8d 05 c6 31 09 00 	lea    0x931c6(%rip),%r8        # 0x14022b3c1
1401981fb:	45 85 c9             	test   %r9d,%r9d
1401981fe:	0f 84 bc 01 00 00    	je     0x1401983c0
140198204:	48 8d 15 da 3e 09 00 	lea    0x93eda(%rip),%rdx        # 0x14022c0e5
14019820b:	48 89 f9             	mov    %rdi,%rcx
14019820e:	e8 4d 87 f0 ff       	call   0x1400a0960
140198213:	44 8b 43 3c          	mov    0x3c(%rbx),%r8d
140198217:	45 85 c0             	test   %r8d,%r8d
14019821a:	0f 84 77 fe ff ff    	je     0x140198097
140198220:	48 8d 15 e9 30 09 00 	lea    0x930e9(%rip),%rdx        # 0x14022b310
140198227:	48 89 f9             	mov    %rdi,%rcx
14019822a:	e8 01 87 f0 ff       	call   0x1400a0930
14019822f:	e9 63 fe ff ff       	jmp    0x140198097
140198234:	0f 1f 40 00          	nopl   0x0(%rax)
140198238:	8b 7a 3c             	mov    0x3c(%rdx),%edi
14019823b:	85 ff                	test   %edi,%edi
14019823d:	0f 84 0b fe ff ff    	je     0x14019804e
140198243:	48 85 ed             	test   %rbp,%rbp
140198246:	0f 85 02 fe ff ff    	jne    0x14019804e
14019824c:	40 f6 c6 04          	test   $0x4,%sil
140198250:	0f 84 f8 fd ff ff    	je     0x14019804e
140198256:	41 be 04 00 00 00    	mov    $0x4,%r14d
14019825c:	48 8d 7c 24 78       	lea    0x78(%rsp),%rdi
140198261:	e9 04 fe ff ff       	jmp    0x14019806a
140198266:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14019826d:	00 00 00
140198270:	48 8d 15 1a 36 09 00 	lea    0x9361a(%rip),%rdx        # 0x14022b891
140198277:	48 89 f9             	mov    %rdi,%rcx
14019827a:	e8 b1 86 f0 ff       	call   0x1400a0930
14019827f:	45 85 ff             	test   %r15d,%r15d
140198282:	75 2c                	jne    0x1401982b0
140198284:	89 f0                	mov    %esi,%eax
140198286:	83 e0 01             	and    $0x1,%eax
140198289:	45 85 ed             	test   %r13d,%r13d
14019828c:	75 55                	jne    0x1401982e3
14019828e:	85 c0                	test   %eax,%eax
140198290:	0f 84 af fe ff ff    	je     0x140198145
140198296:	48 8d 15 93 3e 09 00 	lea    0x93e93(%rip),%rdx        # 0x14022c130
14019829d:	48 89 f9             	mov    %rdi,%rcx
1401982a0:	e8 8b 86 f0 ff       	call   0x1400a0930
1401982a5:	e9 9b fe ff ff       	jmp    0x140198145
1401982aa:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401982b0:	48 8d 15 63 3e 09 00 	lea    0x93e63(%rip),%rdx        # 0x14022c11a
1401982b7:	48 89 f9             	mov    %rdi,%rcx
1401982ba:	e8 71 86 f0 ff       	call   0x1400a0930
1401982bf:	e9 5b fe ff ff       	jmp    0x14019811f
1401982c4:	0f 1f 40 00          	nopl   0x0(%rax)
1401982c8:	45 85 ed             	test   %r13d,%r13d
1401982cb:	0f 84 0f 01 00 00    	je     0x1401983e0
1401982d1:	45 85 f6             	test   %r14d,%r14d
1401982d4:	0f 85 46 01 00 00    	jne    0x140198420
1401982da:	45 85 ff             	test   %r15d,%r15d
1401982dd:	0f 85 55 01 00 00    	jne    0x140198438
1401982e3:	48 8d 15 43 3e 09 00 	lea    0x93e43(%rip),%rdx        # 0x14022c12d
1401982ea:	48 89 f9             	mov    %rdi,%rcx
1401982ed:	e8 3e 86 f0 ff       	call   0x1400a0930
1401982f2:	83 e6 01             	and    $0x1,%esi
1401982f5:	75 61                	jne    0x140198358
1401982f7:	48 89 f9             	mov    %rdi,%rcx
1401982fa:	e8 c1 4b ef ff       	call   0x14008cec0
1401982ff:	89 c3                	mov    %eax,%ebx
140198301:	e9 bb fe ff ff       	jmp    0x1401981c1
140198306:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14019830d:	00 00 00
140198310:	48 8d 15 e7 3d 09 00 	lea    0x93de7(%rip),%rdx        # 0x14022c0fe
140198317:	48 89 f9             	mov    %rdi,%rcx
14019831a:	e8 11 86 f0 ff       	call   0x1400a0930
14019831f:	4c 8b 43 48          	mov    0x48(%rbx),%r8
140198323:	4d 85 c0             	test   %r8,%r8
140198326:	0f 85 9f fd ff ff    	jne    0x1401980cb
14019832c:	48 8d 15 d3 3d 09 00 	lea    0x93dd3(%rip),%rdx        # 0x14022c106
140198333:	48 89 f9             	mov    %rdi,%rcx
140198336:	e8 f5 85 f0 ff       	call   0x1400a0930
14019833b:	e9 9a fd ff ff       	jmp    0x1401980da
140198340:	48 8d 15 b4 3d 09 00 	lea    0x93db4(%rip),%rdx        # 0x14022c0fb
140198347:	48 89 f9             	mov    %rdi,%rcx
14019834a:	e8 e1 85 f0 ff       	call   0x1400a0930
14019834f:	e9 61 fd ff ff       	jmp    0x1401980b5
140198354:	0f 1f 40 00          	nopl   0x0(%rax)
140198358:	48 8d 15 d1 3d 09 00 	lea    0x93dd1(%rip),%rdx        # 0x14022c130
14019835f:	48 89 f9             	mov    %rdi,%rcx
140198362:	e8 c9 85 f0 ff       	call   0x1400a0930
140198367:	48 89 f9             	mov    %rdi,%rcx
14019836a:	e8 51 4b ef ff       	call   0x14008cec0
14019836f:	89 c3                	mov    %eax,%ebx
140198371:	e9 4b fe ff ff       	jmp    0x1401981c1
140198376:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14019837d:	00 00 00
140198380:	8b 43 54             	mov    0x54(%rbx),%eax
140198383:	85 c0                	test   %eax,%eax
140198385:	0f 85 b2 fd ff ff    	jne    0x14019813d
14019838b:	48 8d 15 88 3d 09 00 	lea    0x93d88(%rip),%rdx        # 0x14022c11a
140198392:	48 89 f9             	mov    %rdi,%rcx
140198395:	e8 96 85 f0 ff       	call   0x1400a0930
14019839a:	e9 9e fd ff ff       	jmp    0x14019813d
14019839f:	90                   	nop
1401983a0:	b9 02 00 00 00       	mov    $0x2,%ecx
1401983a5:	ff 15 75 c5 05 00    	call   *0x5c575(%rip)        # 0x1401f4920
1401983ab:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1401983b0:	48 89 c2             	mov    %rax,%rdx
1401983b3:	e8 78 19 05 00       	call   0x1401e9d30
1401983b8:	e9 fc fd ff ff       	jmp    0x1401981b9
1401983bd:	0f 1f 00             	nopl   (%rax)
1401983c0:	48 8b 94 24 80 00 00 	mov    0x80(%rsp),%rdx
1401983c7:	00
1401983c8:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
1401983cd:	e8 ee a8 ff ff       	call   0x140192cc0
1401983d2:	49 89 c0             	mov    %rax,%r8
1401983d5:	e9 2a fe ff ff       	jmp    0x140198204
1401983da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1401983e0:	45 31 c9             	xor    %r9d,%r9d
1401983e3:	4c 8d 05 b1 2f 09 00 	lea    0x92fb1(%rip),%r8        # 0x14022b39b
1401983ea:	48 8d 15 26 3d 09 00 	lea    0x93d26(%rip),%rdx        # 0x14022c117
1401983f1:	48 89 f9             	mov    %rdi,%rcx
1401983f4:	e8 07 86 f0 ff       	call   0x1400a0a00
1401983f9:	45 85 f6             	test   %r14d,%r14d
1401983fc:	0f 85 6e fe ff ff    	jne    0x140198270
140198402:	45 85 ff             	test   %r15d,%r15d
140198405:	0f 84 1d fd ff ff    	je     0x140198128
14019840b:	48 8d 15 08 3d 09 00 	lea    0x93d08(%rip),%rdx        # 0x14022c11a
140198412:	48 89 f9             	mov    %rdi,%rcx
140198415:	e8 16 85 f0 ff       	call   0x1400a0930
14019841a:	e9 09 fd ff ff       	jmp    0x140198128
14019841f:	90                   	nop
140198420:	48 8d 15 6a 34 09 00 	lea    0x9346a(%rip),%rdx        # 0x14022b891
140198427:	48 89 f9             	mov    %rdi,%rcx
14019842a:	e8 01 85 f0 ff       	call   0x1400a0930
14019842f:	e9 a6 fe ff ff       	jmp    0x1401982da
140198434:	0f 1f 40 00          	nopl   0x0(%rax)
140198438:	48 8d 15 db 3c 09 00 	lea    0x93cdb(%rip),%rdx        # 0x14022c11a
14019843f:	48 89 f9             	mov    %rdi,%rcx
140198442:	e8 e9 84 f0 ff       	call   0x1400a0930
140198447:	e9 97 fe ff ff       	jmp    0x1401982e3
14019844c:	48 89 d9             	mov    %rbx,%rcx
14019844f:	e8 0c b0 ff ff       	call   0x140193460
140198454:	48 8d 0d a5 61 09 00 	lea    0x961a5(%rip),%rcx        # 0x14022e600
14019845b:	48 89 c3             	mov    %rax,%rbx
14019845e:	48 8b 05 7b 0b 0a 00 	mov    0xa0b7b(%rip),%rax        # 0x140238fe0
140198465:	44 8b 18             	mov    (%rax),%r11d
140198468:	45 85 db             	test   %r11d,%r11d
14019846b:	74 08                	je     0x140198475
14019846d:	e8 f6 ae 04 00       	call   0x1401e3368
140198472:	48 89 c1             	mov    %rax,%rcx
140198475:	49 89 d8             	mov    %rbx,%r8
140198478:	48 89 da             	mov    %rbx,%rdx
14019847b:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
140198480:	e8 ab b1 f2 ff       	call   0x1400c3630
140198485:	e9 37 fd ff ff       	jmp    0x1401981c1
14019848a:	e8 e1 c3 04 00       	call   0x1401e4870
14019848f:	90                   	nop
140198490:	56                   	push   %rsi
140198491:	53                   	push   %rbx
140198492:	48 83 ec 28          	sub    $0x28,%rsp
140198496:	48 89 ce             	mov    %rcx,%rsi
140198499:	89 d3                	mov    %edx,%ebx
14019849b:	45 85 c0             	test   %r8d,%r8d
14019849e:	75 50                	jne    0x1401984f0
1401984a0:	83 fa 02             	cmp    $0x2,%edx
1401984a3:	74 4b                	je     0x1401984f0
1401984a5:	83 fb 01             	cmp    $0x1,%ebx
1401984a8:	74 36                	je     0x1401984e0
1401984aa:	31 d2                	xor    %edx,%edx
1401984ac:	83 fb 03             	cmp    $0x3,%ebx
1401984af:	74 0f                	je     0x1401984c0
1401984b1:	48 89 f1             	mov    %rsi,%rcx
1401984b4:	48 83 c4 28          	add    $0x28,%rsp
1401984b8:	5b                   	pop    %rbx
1401984b9:	5e                   	pop    %rsi
1401984ba:	e9 a1 5e f0 ff       	jmp    0x14009e360
1401984bf:	90                   	nop
1401984c0:	48 8b 05 c9 08 0a 00 	mov    0xa08c9(%rip),%rax        # 0x140238d90
1401984c7:	48 89 f1             	mov    %rsi,%rcx
1401984ca:	48 8b 10             	mov    (%rax),%rdx
1401984cd:	48 83 c4 28          	add    $0x28,%rsp
1401984d1:	5b                   	pop    %rbx
1401984d2:	5e                   	pop    %rsi
1401984d3:	e9 88 5e f0 ff       	jmp    0x14009e360
1401984d8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1401984df:	00
1401984e0:	48 83 c4 28          	add    $0x28,%rsp
1401984e4:	5b                   	pop    %rbx
1401984e5:	5e                   	pop    %rsi
1401984e6:	c3                   	ret
1401984e7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1401984ee:	00 00
1401984f0:	48 8b 56 08          	mov    0x8(%rsi),%rdx
1401984f4:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1401984f8:	e8 13 87 f3 ff       	call   0x1400d0c10
1401984fd:	48 8b 16             	mov    (%rsi),%rdx