140cdc015:	48 83 c4 20          	add    $0x20,%rsp
140cdc019:	5b                   	pop    %rbx
140cdc01a:	c3                   	ret
140cdc01b:	cc                   	int3
140cdc01c:	cc                   	int3
140cdc01d:	cc                   	int3
140cdc01e:	cc                   	int3
140cdc01f:	cc                   	int3
140cdc020:	b8 38 00 00 00       	mov    $0x38,%eax
140cdc025:	e8 76 f4 13 00       	call   0x140e1b4a0
140cdc02a:	48 2b e0             	sub    %rax,%rsp
140cdc02d:	48 8b 01             	mov    (%rcx),%rax
140cdc030:	44 8b 40 10          	mov    0x10(%rax),%r8d
140cdc034:	45 84 c0             	test   %r8b,%r8b
140cdc037:	79 5c                	jns    0x140cdc095
140cdc039:	48 85 c0             	test   %rax,%rax
140cdc03c:	75 13                	jne    0x140cdc051
140cdc03e:	c7 44 24 20 75 02 00 	movl   $0x275,0x20(%rsp)
140cdc045:	00
140cdc046:	8d 50 7c             	lea    0x7c(%rax),%edx
140cdc049:	41 b8 83 00 00 00    	mov    $0x83,%r8d
140cdc04f:	eb 71                	jmp    0x140cdc0c2
140cdc051:	48 8b 40 48          	mov    0x48(%rax),%rax
140cdc055:	48 85 c0             	test   %rax,%rax
140cdc058:	75 13                	jne    0x140cdc06d
140cdc05a:	c7 44 24 20 7a 02 00 	movl   $0x27a,0x20(%rsp)
140cdc061:	00
140cdc062:	8d 50 7c             	lea    0x7c(%rax),%edx
140cdc065:	41 b8 84 00 00 00    	mov    $0x84,%r8d
140cdc06b:	eb 55                	jmp    0x140cdc0c2
140cdc06d:	45 33 c9             	xor    %r9d,%r9d
140cdc070:	44 8b c2             	mov    %edx,%r8d
140cdc073:	41 8d 51 01          	lea    0x1(%r9),%edx
140cdc077:	ff 15 a3 79 2a 00    	call   *0x2a79a3(%rip)        # 0x140f83a20
140cdc07d:	83 f8 ff             	cmp    $0xffffffff,%eax
140cdc080:	75 53                	jne    0x140cdc0d5
140cdc082:	c7 44 24 20 81 02 00 	movl   $0x281,0x20(%rsp)
140cdc089:	00
140cdc08a:	8d 50 7d             	lea    0x7d(%rax),%edx
140cdc08d:	41 b8 85 00 00 00    	mov    $0x85,%r8d
140cdc093:	eb 2d                	jmp    0x140cdc0c2
140cdc095:	39 51 68             	cmp    %edx,0x68(%rcx)
140cdc098:	74 0d                	je     0x140cdc0a7
140cdc09a:	85 d2                	test   %edx,%edx
140cdc09c:	7e 13                	jle    0x140cdc0b1
140cdc09e:	41 f6 c0 08          	test   $0x8,%r8b
140cdc0a2:	74 0d                	je     0x140cdc0b1
140cdc0a4:	89 51 68             	mov    %edx,0x68(%rcx)
140cdc0a7:	b8 01 00 00 00       	mov    $0x1,%eax
140cdc0ac:	48 83 c4 38          	add    $0x38,%rsp
140cdc0b0:	c3                   	ret
140cdc0b1:	ba 7a 00 00 00       	mov    $0x7a,%edx
140cdc0b6:	c7 44 24 20 63 02 00 	movl   $0x263,0x20(%rsp)
140cdc0bd:	00
140cdc0be:	44 8d 42 08          	lea    0x8(%rdx),%r8d
140cdc0c2:	4c 8d 0d 7f 76 48 00 	lea    0x48767f(%rip),%r9        # 0x141163748
140cdc0c9:	b9 06 00 00 00       	mov    $0x6,%ecx
140cdc0ce:	e8 ad 4b ff ff       	call   0x140cd0c80
140cdc0d3:	33 c0                	xor    %eax,%eax
140cdc0d5:	48 83 c4 38          	add    $0x38,%rsp
140cdc0d9:	c3                   	ret
140cdc0da:	cc                   	int3
140cdc0db:	cc                   	int3
140cdc0dc:	cc                   	int3
140cdc0dd:	cc                   	int3
140cdc0de:	cc                   	int3
140cdc0df:	cc                   	int3
140cdc0e0:	44 8b 41 6c          	mov    0x6c(%rcx),%r8d
140cdc0e4:	41 8b c0             	mov    %r8d,%eax
140cdc0e7:	0f ba e8 08          	bts    $0x8,%eax
140cdc0eb:	41 0f ba f0 08       	btr    $0x8,%r8d
140cdc0f0:	85 d2                	test   %edx,%edx
140cdc0f2:	44 0f 44 c0          	cmove  %eax,%r8d
140cdc0f6:	b8 01 00 00 00       	mov    $0x1,%eax
140cdc0fb:	44 89 41 6c          	mov    %r8d,0x6c(%rcx)
140cdc0ff:	c3                   	ret
140cdc100:	b8 28 00 00 00       	mov    $0x28,%eax
140cdc105:	e8 96 f3 13 00       	call   0x140e1b4a0
140cdc10a:	48 2b e0             	sub    %rax,%rsp
140cdc10d:	83 79 10 00          	cmpl   $0x0,0x10(%rcx)
140cdc111:	74 09                	je     0x140cdc11c
140cdc113:	48 83 c4 28          	add    $0x28,%rsp
140cdc117:	e9 04 0a 00 00       	jmp    0x140cdcb20
140cdc11c:	48 83 c4 28          	add    $0x28,%rsp
140cdc120:	e9 ab 04 00 00       	jmp    0x140cdc5d0
140cdc125:	cc                   	int3
140cdc126:	cc                   	int3
140cdc127:	cc                   	int3
140cdc128:	cc                   	int3
140cdc129:	cc                   	int3
140cdc12a:	cc                   	int3
140cdc12b:	cc                   	int3
140cdc12c:	cc                   	int3
140cdc12d:	cc                   	int3
140cdc12e:	cc                   	int3
140cdc12f:	cc                   	int3
140cdc130:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140cdc135:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140cdc13a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140cdc13f:	57                   	push   %rdi
140cdc140:	b8 30 00 00 00       	mov    $0x30,%eax
140cdc145:	e8 56 f3 13 00       	call   0x140e1b4a0
140cdc14a:	48 2b e0             	sub    %rax,%rsp
140cdc14d:	49 8b f1             	mov    %r9,%rsi
140cdc150:	49 8b e8             	mov    %r8,%rbp
140cdc153:	48 8b fa             	mov    %rdx,%rdi
140cdc156:	48 8b d9             	mov    %rcx,%rbx
140cdc159:	48 85 d2             	test   %rdx,%rdx
140cdc15c:	74 05                	je     0x140cdc163
140cdc15e:	e8 2d fe ff ff       	call   0x140cdbf90
140cdc163:	8b 44 24 60          	mov    0x60(%rsp),%eax
140cdc167:	4c 8b cd             	mov    %rbp,%r9
140cdc16a:	89 44 24 28          	mov    %eax,0x28(%rsp)
140cdc16e:	45 33 c0             	xor    %r8d,%r8d
140cdc171:	48 8b d7             	mov    %rdi,%rdx
140cdc174:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140cdc179:	48 8b cb             	mov    %rbx,%rcx
140cdc17c:	e8 1f 00 00 00       	call   0x140cdc1a0
140cdc181:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140cdc186:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140cdc18b:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
140cdc190:	48 83 c4 30          	add    $0x30,%rsp
140cdc194:	5f                   	pop    %rdi
140cdc195:	c3                   	ret
140cdc196:	cc                   	int3
140cdc197:	cc                   	int3
140cdc198:	cc                   	int3
140cdc199:	cc                   	int3
140cdc19a:	cc                   	int3
140cdc19b:	cc                   	int3
140cdc19c:	cc                   	int3
140cdc19d:	cc                   	int3
140cdc19e:	cc                   	int3
140cdc19f:	cc                   	int3
140cdc1a0:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
140cdc1a5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140cdc1aa:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140cdc1af:	41 54                	push   %r12
140cdc1b1:	41 56                	push   %r14
140cdc1b3:	41 57                	push   %r15
140cdc1b5:	b8 30 00 00 00       	mov    $0x30,%eax
140cdc1ba:	e8 e1 f2 13 00       	call   0x140e1b4a0
140cdc1bf:	48 2b e0             	sub    %rax,%rsp
140cdc1c2:	8b 44 24 78          	mov    0x78(%rsp),%eax
140cdc1c6:	4d 8b f9             	mov    %r9,%r15
140cdc1c9:	49 8b e8             	mov    %r8,%rbp
140cdc1cc:	48 8b f2             	mov    %rdx,%rsi
140cdc1cf:	48 8b f9             	mov    %rcx,%rdi
140cdc1d2:	83 f8 ff             	cmp    $0xffffffff,%eax
140cdc1d5:	75 06                	jne    0x140cdc1dd
140cdc1d7:	44 8b 71 10          	mov    0x10(%rcx),%r14d
140cdc1db:	eb 10                	jmp    0x140cdc1ed
140cdc1dd:	85 c0                	test   %eax,%eax
140cdc1df:	41 be 01 00 00 00    	mov    $0x1,%r14d
140cdc1e5:	44 0f 44 f0          	cmove  %eax,%r14d
140cdc1e9:	44 89 71 10          	mov    %r14d,0x10(%rcx)
140cdc1ed:	45 33 e4             	xor    %r12d,%r12d
140cdc1f0:	48 89 5c 24 50       	mov    %rbx,0x50(%rsp)
140cdc1f5:	4c 39 61 08          	cmp    %r12,0x8(%rcx)
140cdc1f9:	74 1b                	je     0x140cdc216
140cdc1fb:	48 8b 01             	mov    (%rcx),%rax
140cdc1fe:	48 85 c0             	test   %rax,%rax
140cdc201:	74 13                	je     0x140cdc216
140cdc203:	48 85 f6             	test   %rsi,%rsi
140cdc206:	0f 84 c8 01 00 00    	je     0x140cdc3d4
140cdc20c:	8b 00                	mov    (%rax),%eax
140cdc20e:	39 02                	cmp    %eax,(%rdx)
140cdc210:	0f 84 be 01 00 00    	je     0x140cdc3d4
140cdc216:	48 8b 01             	mov    (%rcx),%rax
140cdc219:	48 85 f6             	test   %rsi,%rsi
140cdc21c:	0f 84 9a 01 00 00    	je     0x140cdc3bc
140cdc222:	48 85 c0             	test   %rax,%rax
140cdc225:	74 0f                	je     0x140cdc236
140cdc227:	8b 59 6c             	mov    0x6c(%rcx),%ebx
140cdc22a:	e8 61 fd ff ff       	call   0x140cdbf90
140cdc22f:	44 89 77 10          	mov    %r14d,0x10(%rdi)
140cdc233:	89 5f 6c             	mov    %ebx,0x6c(%rdi)
140cdc236:	48 85 ed             	test   %rbp,%rbp
140cdc239:	74 35                	je     0x140cdc270
140cdc23b:	48 8b cd             	mov    %rbp,%rcx
140cdc23e:	e8 4d 94 01 00       	call   0x140cf5690
140cdc243:	85 c0                	test   %eax,%eax
140cdc245:	75 38                	jne    0x140cdc27f
140cdc247:	c7 44 24 20 61 00 00 	movl   $0x61,0x20(%rsp)
140cdc24e:	00
140cdc24f:	41 b8 86 00 00 00    	mov    $0x86,%r8d
140cdc255:	b9 06 00 00 00       	mov    $0x6,%ecx
140cdc25a:	4c 8d 0d e7 74 48 00 	lea    0x4874e7(%rip),%r9        # 0x141163748
140cdc261:	8d 51 75             	lea    0x75(%rcx),%edx
140cdc264:	e8 17 4a ff ff       	call   0x140cd0c80
140cdc269:	33 c0                	xor    %eax,%eax
140cdc26b:	e9 d0 02 00 00       	jmp    0x140cdc540
140cdc270:	8b 0e                	mov    (%rsi),%ecx
140cdc272:	e8 d9 c0 04 00       	call   0x140d28350
140cdc277:	48 8b e8             	mov    %rax,%rbp
140cdc27a:	48 85 c0             	test   %rax,%rax
140cdc27d:	74 1c                	je     0x140cdc29b
140cdc27f:	8b 16                	mov    (%rsi),%edx
140cdc281:	48 8b cd             	mov    %rbp,%rcx
140cdc284:	e8 67 c0 04 00       	call   0x140d282f0
140cdc289:	48 8b f0             	mov    %rax,%rsi
140cdc28c:	48 85 c0             	test   %rax,%rax
140cdc28f:	75 0d                	jne    0x140cdc29e
140cdc291:	c7 44 24 20 70 00 00 	movl   $0x70,0x20(%rsp)
140cdc298:	00
140cdc299:	eb b4                	jmp    0x140cdc24f
140cdc29b:	49 8b ec             	mov    %r12,%rbp
140cdc29e:	48 89 6f 08          	mov    %rbp,0x8(%rdi)
140cdc2a2:	48 89 37             	mov    %rsi,(%rdi)
140cdc2a5:	48 63 46 30          	movslq 0x30(%rsi),%rax
140cdc2a9:	85 c0                	test   %eax,%eax
140cdc2ab:	74 32                	je     0x140cdc2df
140cdc2ad:	48 8b c8             	mov    %rax,%rcx
140cdc2b0:	48 8d 15 91 74 48 00 	lea    0x487491(%rip),%rdx        # 0x141163748
140cdc2b7:	41 b8 80 00 00 00    	mov    $0x80,%r8d
140cdc2bd:	e8 8e 5a fe ff       	call   0x140cc1d50
140cdc2c2:	48 89 47 70          	mov    %rax,0x70(%rdi)
140cdc2c6:	48 85 c0             	test   %rax,%rax
140cdc2c9:	75 18                	jne    0x140cdc2e3
140cdc2cb:	4c 89 27             	mov    %r12,(%rdi)
140cdc2ce:	44 8d 40 41          	lea    0x41(%rax),%r8d
140cdc2d2:	c7 44 24 20 83 00 00 	movl   $0x83,0x20(%rsp)
140cdc2d9:	00
140cdc2da:	e9 76 ff ff ff       	jmp    0x140cdc255
140cdc2df:	4c 89 67 70          	mov    %r12,0x70(%rdi)
140cdc2e3:	8b 46 08             	mov    0x8(%rsi),%eax
140cdc2e6:	83 67 6c 01          	andl   $0x1,0x6c(%rdi)
140cdc2ea:	89 47 68             	mov    %eax,0x68(%rdi)
140cdc2ed:	48 8b 07             	mov    (%rdi),%rax
140cdc2f0:	f6 40 10 40          	testb  $0x40,0x10(%rax)
140cdc2f4:	0f 84 da 00 00 00    	je     0x140cdc3d4
140cdc2fa:	48 85 c0             	test   %rax,%rax
140cdc2fd:	75 2e                	jne    0x140cdc32d
140cdc2ff:	8d 50 7c             	lea    0x7c(%rax),%edx
140cdc302:	c7 44 24 20 75 02 00 	movl   $0x275,0x20(%rsp)
140cdc309:	00
140cdc30a:	44 8d 42 07          	lea    0x7(%rdx),%r8d
140cdc30e:	4c 8d 0d 33 74 48 00 	lea    0x487433(%rip),%r9        # 0x141163748
140cdc315:	8d 48 06             	lea    0x6(%rax),%ecx
140cdc318:	e8 63 49 ff ff       	call   0x140cd0c80
140cdc31d:	4c 89 27             	mov    %r12,(%rdi)
140cdc320:	c7 44 24 20 8f 00 00 	movl   $0x8f,0x20(%rsp)
140cdc327:	00
140cdc328:	e9 22 ff ff ff       	jmp    0x140cdc24f
140cdc32d:	48 8b 40 48          	mov    0x48(%rax),%rax
140cdc331:	48 85 c0             	test   %rax,%rax
140cdc334:	75 2e                	jne    0x140cdc364
140cdc336:	8d 50 7c             	lea    0x7c(%rax),%edx
140cdc339:	c7 44 24 20 7a 02 00 	movl   $0x27a,0x20(%rsp)
140cdc340:	00
140cdc341:	44 8d 42 08          	lea    0x8(%rdx),%r8d
140cdc345:	4c 8d 0d fc 73 48 00 	lea    0x4873fc(%rip),%r9        # 0x141163748
140cdc34c:	8d 48 06             	lea    0x6(%rax),%ecx
140cdc34f:	e8 2c 49 ff ff       	call   0x140cd0c80
140cdc354:	4c 89 27             	mov    %r12,(%rdi)
140cdc357:	c7 44 24 20 8f 00 00 	movl   $0x8f,0x20(%rsp)
140cdc35e:	00
140cdc35f:	e9 eb fe ff ff       	jmp    0x140cdc24f
140cdc364:	45 33 c9             	xor    %r9d,%r9d
140cdc367:	45 33 c0             	xor    %r8d,%r8d
140cdc36a:	33 d2                	xor    %edx,%edx
140cdc36c:	48 8b cf             	mov    %rdi,%rcx
140cdc36f:	ff 15 ab 76 2a 00    	call   *0x2a76ab(%rip)        # 0x140f83a20
140cdc375:	83 f8 ff             	cmp    $0xffffffff,%eax
140cdc378:	75 2e                	jne    0x140cdc3a8
140cdc37a:	8d 50 7d             	lea    0x7d(%rax),%edx
140cdc37d:	c7 44 24 20 81 02 00 	movl   $0x281,0x20(%rsp)
140cdc384:	00
140cdc385:	44 8d 42 09          	lea    0x9(%rdx),%r8d
140cdc389:	4c 8d 0d b8 73 48 00 	lea    0x4873b8(%rip),%r9        # 0x141163748
140cdc390:	8d 48 07             	lea    0x7(%rax),%ecx
140cdc393:	e8 e8 48 ff ff       	call   0x140cd0c80
140cdc398:	4c 89 27             	mov    %r12,(%rdi)
140cdc39b:	c7 44 24 20 8f 00 00 	movl   $0x8f,0x20(%rsp)
140cdc3a2:	00
140cdc3a3:	e9 a7 fe ff ff       	jmp    0x140cdc24f
140cdc3a8:	85 c0                	test   %eax,%eax
140cdc3aa:	75 28                	jne    0x140cdc3d4
140cdc3ac:	4c 89 27             	mov    %r12,(%rdi)
140cdc3af:	c7 44 24 20 8f 00 00 	movl   $0x8f,0x20(%rsp)
140cdc3b6:	00
140cdc3b7:	e9 93 fe ff ff       	jmp    0x140cdc24f
140cdc3bc:	48 85 c0             	test   %rax,%rax
140cdc3bf:	75 13                	jne    0x140cdc3d4
140cdc3c1:	c7 44 24 20 94 00 00 	movl   $0x94,0x20(%rsp)
140cdc3c8:	00
140cdc3c9:	41 b8 83 00 00 00    	mov    $0x83,%r8d
140cdc3cf:	e9 81 fe ff ff       	jmp    0x140cdc255
140cdc3d4:	48 8b 07             	mov    (%rdi),%rax
140cdc3d7:	8b 48 04             	mov    0x4(%rax),%ecx
140cdc3da:	83 f9 10             	cmp    $0x10,%ecx
140cdc3dd:	77 0a                	ja     0x140cdc3e9
140cdc3df:	b8 02 01 01 00       	mov    $0x10102,%eax
140cdc3e4:	0f a3 c8             	bt     %ecx,%eax
140cdc3e7:	72 19                	jb     0x140cdc402
140cdc3e9:	41 b8 9d 00 00 00    	mov    $0x9d,%r8d
140cdc3ef:	48 8d 15 52 73 48 00 	lea    0x487352(%rip),%rdx        # 0x141163748
140cdc3f6:	48 8d 0d 63 73 48 00 	lea    0x487363(%rip),%rcx        # 0x141163760
140cdc3fd:	e8 ce 94 02 00       	call   0x140d058d0
140cdc402:	f6 47 6c 01          	testb  $0x1,0x6c(%rdi)
140cdc406:	75 2f                	jne    0x140cdc437
140cdc408:	48 8b cf             	mov    %rdi,%rcx
140cdc40b:	e8 c0 32 4c ff       	call   0x14019f6d0
140cdc410:	48 8b c8             	mov    %rax,%rcx
140cdc413:	e8 98 1f 4d ff       	call   0x1401ae3b0
140cdc418:	25 07 00 0f 00       	and    $0xf0007,%eax
140cdc41d:	3d 02 00 01 00       	cmp    $0x10002,%eax
140cdc422:	75 13                	jne    0x140cdc437
140cdc424:	c7 44 24 20 a1 00 00 	movl   $0xa1,0x20(%rsp)
140cdc42b:	00
140cdc42c:	41 b8 aa 00 00 00    	mov    $0xaa,%r8d
140cdc432:	e9 1e fe ff ff       	jmp    0x140cdc255
140cdc437:	48 8b cf             	mov    %rdi,%rcx
140cdc43a:	e8 91 32 4c ff       	call   0x14019f6d0
140cdc43f:	48 8b c8             	mov    %rax,%rcx
140cdc442:	e8 69 1f 4d ff       	call   0x1401ae3b0
140cdc447:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
140cdc44c:	a8 10                	test   $0x10,%al
140cdc44e:	0f 85 a5 00 00 00    	jne    0x140cdc4f9
140cdc454:	48 8b cf             	mov    %rdi,%rcx
140cdc457:	e8 74 32 4c ff       	call   0x14019f6d0
140cdc45c:	48 8b c8             	mov    %rax,%rcx
140cdc45f:	e8 4c 1f 4d ff       	call   0x1401ae3b0
140cdc464:	25 07 00 0f 00       	and    $0xf0007,%eax
140cdc469:	83 f8 05             	cmp    $0x5,%eax
140cdc46c:	0f 87 f7 fd ff ff    	ja     0x140cdc269
140cdc472:	48 8d 15 87 3b 32 ff 	lea    -0xcdc479(%rip),%rdx        # 0x140000000
140cdc479:	8b 8c 82 60 c5 cd 00 	mov    0xcdc560(%rdx,%rax,4),%ecx
140cdc480:	48 03 ca             	add    %rdx,%rcx
140cdc483:	ff e1                	jmp    *%rcx
140cdc485:	44 89 67 58          	mov    %r12d,0x58(%rdi)
140cdc489:	48 8b cf             	mov    %rdi,%rcx
140cdc48c:	e8 af 53 00 00       	call   0x140ce1840
140cdc491:	83 f8 10             	cmp    $0x10,%eax
140cdc494:	7e 19                	jle    0x140cdc4af
140cdc496:	41 b8 b5 00 00 00    	mov    $0xb5,%r8d
140cdc49c:	48 8d 15 a5 72 48 00 	lea    0x4872a5(%rip),%rdx        # 0x141163748
140cdc4a3:	48 8d 0d 26 73 48 00 	lea    0x487326(%rip),%rcx        # 0x1411637d0
140cdc4aa:	e8 21 94 02 00       	call   0x140d058d0
140cdc4af:	48 85 f6             	test   %rsi,%rsi
140cdc4b2:	74 17                	je     0x140cdc4cb
140cdc4b4:	48 8b cf             	mov    %rdi,%rcx
140cdc4b7:	e8 84 53 00 00       	call   0x140ce1840
140cdc4bc:	4c 63 c0             	movslq %eax,%r8
140cdc4bf:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140cdc4c3:	48 8b d6             	mov    %rsi,%rdx
140cdc4c6:	e8 45 2b 20 00       	call   0x140edf010
140cdc4cb:	48 8b cf             	mov    %rdi,%rcx
140cdc4ce:	e8 6d 53 00 00       	call   0x140ce1840
140cdc4d3:	48 8d 57 18          	lea    0x18(%rdi),%rdx