{"schema":"libjg2-1",
"vpath":"/git/",
"avatar":"/git/avatar/",
"alang":"",
"gen_ut":1755716891,
"reponame":"openssl",
"desc":"OpenSSL",
"owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://warmcat.com/repo/openssl",
"f":3,
"items": [
{"schema":"libjg2-1",
"cid":"855e648d3636cb1b6b1f080c89ecc610",
"commit": {"type":"commit",
"time": 1464363692,
"time_ofs": 120,
"oid_tree": { "oid": "f7ea110f93a78df06da451ab74c368a612c93899", "alias": []},
"oid":{ "oid": "cb66390857fe9477e567f163302b4e34aeff8e6e", "alias": []},
"msg": "Windows makefile: handle the case with space in source directory",
"sig_commit": { "git_time": { "time": 1464363692, "offset": 120 }, "name": "Richard Levitte", "email": "levitte@openssl.org", "md5": "b737120f0642a6a5c30c6291e6170c77" },
"sig_author": { "git_time": { "time": 1464170299, "offset": 120 }, "name": "Richard Levitte", "email": "levitte@openssl.org", "md5": "b737120f0642a6a5c30c6291e6170c77" }},
"body": "Windows makefile: handle the case with space in source directory\n\nThis applies when building out-of-source.\n\nRT#4486\n\nNOTE: we can't do the same for Unix, as Unix make doesn't handle this\ntype of issue. Also, directory specs are much less likely to have\nspaces on Unix...\n\nReviewed-by: Matt Caswell \u003cmatt@openssl.org\u003e\n"
,
"diff": "diff --git a/Configurations/windows-makefile.tmpl b/Configurations/windows-makefile.tmpl\nindex 454f2ed..9a8109f 100644\n--- a/Configurations/windows-makefile.tmpl\n+++ b/Configurations/windows-makefile.tmpl\n@@ -161,7 +161,7 @@ tests: build_tests_nodep build_apps_nodep build_engines_nodep depend\n \tset SRCTOP\u003d$(SRCDIR)\n \tset BLDTOP\u003d$(BLDDIR)\n \tset PERL\u003d$(PERL)\n-\t$(PERL) $(SRCDIR)\u005ctest\u005crun_tests.pl $(TESTS)\n+\t\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005ctest\u005crun_tests.pl\u0022 $(TESTS)\n \t@rem {- if ($disabled{tests}) { output_on(); } else { output_off(); } \u0022\u0022 -}\n \t@echo \u0022Tests are not supported with your chosen Configure options\u0022\n \t@rem {- output_on() if !$disabled{tests}; \u0022\u0022 -}\n@@ -169,16 +169,16 @@ tests: build_tests_nodep build_apps_nodep build_engines_nodep depend\n list-tests:\n \t@set TOP\u003d$(SRCDIR)\n \t@set PERL\u003d$(PERL)\n-\t@$(PERL) $(SRCDIR)\u005ctest\u005crun_tests.pl list\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005ctest\u005crun_tests.pl\u0022 list\n \n install: install_sw install_ssldirs install_docs\n \n uninstall: uninstall_docs uninstall_sw\n \n libclean:\n-\t$(PERL) -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n-\t$(PERL) -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022apps/$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n-\t$(PERL) -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022test/$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n+\t\u0022$(PERL)\u0022 -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n+\t\u0022$(PERL)\u0022 -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022apps/$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n+\t\u0022$(PERL)\u0022 -e \u0022map { m/(.*)\u005c.dll$$/; unlink glob \u0022\u0022\u0022test/$$1.*\u0022\u0022\u0022; } @ARGV\u0022 $(SHLIBS)\n \t-del /Q /F $(LIBS)\n \t-del /Q ossl_static.pdb\n \n@@ -204,33 +204,33 @@ install_sw: all install_dev install_engines install_runtime\n uninstall_sw: uninstall_runtime uninstall_engines uninstall_dev\n \n install_docs:\n- $(PERL) $(SRCDIR)\u005cutil\u005cprocess_docs.pl \u005c\n+ \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cprocess_docs.pl\u0022 \u005c\n \u0022--destdir\u003d$(DESTDIR)$(INSTALLTOP)\u005chtml\u0022 --type\u003dhtml\n \n uninstall_docs:\n \n install_ssldirs:\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(OPENSSLDIR)\u005ccerts\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(OPENSSLDIR)\u005cprivate\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(OPENSSLDIR)\u005cmisc\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(SRCDIR)\u005capps\u005copenssl.cnf \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(OPENSSLDIR)\u005ccerts\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(OPENSSLDIR)\u005cprivate\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(OPENSSLDIR)\u005cmisc\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 \u0022$(SRCDIR)\u005capps\u005copenssl.cnf\u0022 \u005c\n \u0022$(DESTDIR)$(OPENSSLDIR)\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(MISC_SCRIPTS) \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(MISC_SCRIPTS) \u005c\n \u0022$(DESTDIR)$(OPENSSLDIR)\u005cmisc\u0022\n \n install_dev:\n \t@if \u0022$(INSTALLTOP)\u0022\u003d\u003d\u0022\u0022 ( echo INSTALLTOP should not be empty \u0026 exit 1 )\n \t@echo *** Installing development files\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(INSTALLTOP)\u005cinclude\u005copenssl\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(SRCDIR)\u005cinclude\u005copenssl\u005c*.h \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(INSTALLTOP)\u005cinclude\u005copenssl\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 \u0022$(SRCDIR)\u005cinclude\u005copenssl\u005c*.h\u0022 \u005c\n \t\t\t\t \u0022$(DESTDIR)$(INSTALLTOP)\u005cinclude\u005copenssl\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(BLDDIR)\u005cinclude\u005copenssl\u005c*.h \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(BLDDIR)\u005cinclude\u005copenssl\u005c*.h \u005c\n \t\t\t\t \u0022$(DESTDIR)$(INSTALLTOP)\u005cinclude\u005copenssl\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(INSTALLTOP)\u005c$(LIBDIR)\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(LIBS) \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(INSTALLTOP)\u005c$(LIBDIR)\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(LIBS) \u005c\n \t\t\t\t \u0022$(DESTDIR)$(INSTALLTOP)\u005c$(LIBDIR)\u0022\n \t@if \u0022$(SHLIBS)\u0022\u003d\u003d\u0022\u0022 \u005c\n-\t $(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl ossl_static.pdb \u005c\n+\t \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 ossl_static.pdb \u005c\n \u0022$(DESTDIR)$(INSTALLTOP)\u005c$(LIBDIR)\u0022\n \n uninstall_dev:\n@@ -238,38 +238,38 @@ uninstall_dev:\n install_engines:\n \t@if \u0022$(INSTALLTOP)\u0022\u003d\u003d\u0022\u0022 ( echo INSTALLTOP should not be empty \u0026 exit 1 )\n \t@echo *** Installing engines\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n \t@if not \u0022$(ENGINES)\u0022\u003d\u003d\u0022\u0022 \u005c\n-\t $(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(ENGINES) \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n+\t \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(ENGINES) \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n \t@if not \u0022$(ENGINES)\u0022\u003d\u003d\u0022\u0022 \u005c\n-\t $(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(ENGINEPDBS) \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n+\t \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(ENGINEPDBS) \u0022$(DESTDIR)$(ENGINESDIR)\u0022\n \n uninstall_engines:\n \n install_runtime:\n \t@if \u0022$(INSTALLTOP)\u0022\u003d\u003d\u0022\u0022 ( echo INSTALLTOP should not be empty \u0026 exit 1 )\n \t@echo *** Installing runtime files\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005cmkdir-p.pl \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005cmkdir-p.pl\u0022 \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n \t@if not \u0022$(SHLIBS)\u0022\u003d\u003d\u0022\u0022 \u005c\n-\t $(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(SHLIBS) \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n+\t \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(SHLIBS) \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n \t@if not \u0022$(SHLIBS)\u0022\u003d\u003d\u0022\u0022 \u005c\n-\t $(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(SHLIBPDBS) \u005c\n+\t \u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(SHLIBPDBS) \u005c\n \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(PROGRAMS) \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(PROGRAMS) \u005c\n \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(PROGRAMPDBS) \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(PROGRAMPDBS) \u005c\n \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n-\t@$(PERL) $(SRCDIR)\u005cutil\u005ccopy.pl $(BIN_SCRIPTS) \u005c\n+\t@\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cutil\u005ccopy.pl\u0022 $(BIN_SCRIPTS) \u005c\n \u0022$(DESTDIR)$(INSTALLTOP)\u005cbin\u0022\n \n uninstall_runtime:\n \n # Building targets ###################################################\n \n-configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\u005cConfigure\n+configdata.pm: \u0022{- $config{build_file_template} -}\u0022 \u0022$(SRCDIR)\u005cConfigure\u0022\n \t@echo \u0022Detected changed: $?\u0022\n \t@echo \u0022Reconfiguring...\u0022\n-\t$(PERL) $(SRCDIR)\u005cConfigure reconf\n+\t\u0022$(PERL)\u0022 \u0022$(SRCDIR)\u005cConfigure\u0022 reconf\n \t@echo \u0022**************************************************\u0022\n \t@echo \u0022*** ***\u0022\n \t@echo \u0022*** Please run the same make command again ***\u0022\n@@ -293,19 +293,20 @@ configdata.pm: {- $config{build_file_template} -} $(SRCDIR)\u005cConfigure\n sub generatesrc {\n my %args \u003d @_;\n (my $target \u003d $args{src}) \u003d~ s/\u005c.[sS]$/.asm/;\n- my $generator \u003d join(\u0022 \u0022, @{$args{generator}});\n- my $generator_incs \u003d join(\u0022\u0022, map { \u0022 -I\u0022.$_ } @{$args{generator_incs}});\n- my $incs \u003d join(\u0022\u0022, map { \u0022 /I \u0022.$_ } @{$args{incs}});\n- my $deps \u003d join(\u0022 \u0022, @{$args{generator_deps}}, @{$args{deps}});\n+ my $generator \u003d '\u0022'.join('\u0022 \u0022', @{$args{generator}}).'\u0022';\n+ my $generator_incs \u003d join(\u0022\u0022, map { \u0022 -I \u005c\u0022$_\u005c\u0022\u0022 } @{$args{generator_incs}});\n+ my $incs \u003d join(\u0022\u0022, map { \u0022 /I \u005c\u0022$_\u005c\u0022\u0022 } @{$args{incs}});\n+ my $deps \u003d @{$args{deps}} ?\n+ '\u0022'.join('\u0022 \u0022', @{$args{generator_deps}}, @{$args{deps}}).'\u0022' : '';\n \n if ($target !~ /\u005c.asm$/) {\n return \u003c\u003c\u0022EOF\u0022;\n-$target: $args{generator}-\u003e[0] $deps\n-\t\u005c$(PERL)$generator_incs $generator \u003e \u005c$@\n+$target: \u0022$args{generator}-\u003e[0]\u0022 $deps\n+\t\u0022\u005c$(PERL)\u0022$generator_incs $generator \u003e \u005c$@\n EOF\n } else {\n if ($args{generator}-\u003e[0] \u003d~ /\u005c.pl$/) {\n- $generator \u003d '$(PERL)'.$generator_incs.' '.$generator;\n+ $generator \u003d '\u0022$(PERL)\u0022'.$generator_incs.' '.$generator;\n } elsif ($args{generator}-\u003e[0] \u003d~ /\u005c.S$/) {\n $generator \u003d undef;\n } else {\n@@ -317,7 +318,7 @@ EOF\n # end up generating foo.s in two steps.\n if ($args{src} \u003d~ /\u005c.S$/) {\n return \u003c\u003c\u0022EOF\u0022;\n-$target: $args{generator}-\u003e[0] $deps\n+$target: \u0022$args{generator}-\u003e[0]\u0022 $deps\n \tset ASM\u003d\u005c$(AS)\n \t$generator \u005c$@.S\n \t\u005c$(CC) \u005c$(CFLAGS) $incs /EP /C \u005c$@.S \u003e \u005c$@.i \u0026\u0026 move /Y \u005c$@.i \u005c$@\n@@ -326,14 +327,14 @@ EOF\n }\n # Otherwise....\n return \u003c\u003c\u0022EOF\u0022;\n-$target: $args{generator}-\u003e[0] $deps\n+$target: \u0022$args{generator}-\u003e[0]\u0022 $deps\n \tset ASM\u003d\u005c$(AS)\n \t$generator \u005c$@\n EOF\n }\n return \u003c\u003c\u0022EOF\u0022;\n-$target: $args{generator}-\u003e[0] $deps\n-\t\u005c$(CC) \u005c$(CFLAGS) $incs /EP /C $args{generator}-\u003e[0] \u003e \u005c$@.i \u0026\u0026 move /Y \u005c$@.i \u005c$@\n+$target: \u0022$args{generator}-\u003e[0]\u0022 $deps\n+\t\u005c$(CC) \u005c$(CFLAGS) $incs /EP /C \u0022$args{generator}-\u003e[0]\u0022 \u003e \u005c$@.i \u0026\u0026 move /Y \u005c$@.i \u005c$@\n EOF\n }\n }\n@@ -343,12 +344,12 @@ EOF\n my $obj \u003d $args{obj};\n my @srcs \u003d map { (my $x \u003d $_) \u003d~ s/\u005c.s$/.asm/; $x\n } ( @{$args{srcs}} );\n- my $srcs \u003d join(\u0022 \u0022, @srcs);\n- my $deps \u003d join(\u0022 \u0022, @srcs, @{$args{deps}});\n- my $incs \u003d join(\u0022\u0022, map { \u0022 /I \u0022.$_ } @{$args{incs}});\n+ my $srcs \u003d '\u0022'.join('\u0022 \u0022', @srcs).'\u0022';\n+ my $deps \u003d '\u0022'.join('\u0022 \u0022', @srcs, @{$args{deps}}).'\u0022';\n+ my $incs \u003d join(\u0022\u0022, map { ' /I \u0022'.$_.'\u0022' } @{$args{incs}});\n unless ($disabled{zlib}) {\n if ($withargs{zlib_include}) {\n- $incs .\u003d \u0022 /I \u0022.$withargs{zlib_include};\n+ $incs .\u003d ' /I \u0022'.$withargs{zlib_include}.'\u0022';\n }\n }\n my $ecflags \u003d { lib \u003d\u003e '$(LIB_CFLAGS)',\n@@ -364,7 +365,7 @@ EOF\n return \u003c\u003c\u0022EOF\u0022\tif (!$disabled{makedepend});\n $obj$depext: $deps\n \t\u005c$(CC) \u005c$(CFLAGS) $ecflags$inc /Zs /showIncludes $srcs 2\u003e\u00261 | \u005c\u005c\n-\t \u005c$(PERL) -n \u003c\u003c \u003e $obj$depext\n+\t \u0022\u005c$(PERL)\u0022 -n \u003c\u003c \u003e $obj$depext\n chomp;\n s/^Note: including file: *//;\n \u005c$\u005c$collect{\u005c$\u005c$_} \u003d 1;\n@@ -404,11 +405,11 @@ EOF\n \t\t\t rel2abs($config{builddir}));\n my $target \u003d shlib_import($lib);\n return \u003c\u003c\u0022EOF\u0022\n-$target: $deps $ordinalsfile $mkdef_pl\n-\t\u005c$(PERL) $mkdef_pl \u0022$mkdef_key\u0022 32 \u003e $shlib.def\n-\t\u005c$(PERL) -i.tmp -pe \u0022s|^LIBRARY\u005c\u005cs+${mkdef_key}32|LIBRARY $shlib|;\u0022 $shlib.def\n+$target: $deps \u0022$ordinalsfile\u0022 \u0022$mkdef_pl\u0022\n+\t\u0022\u005c$(PERL)\u0022 \u0022$mkdef_pl\u0022 \u0022$mkdef_key\u0022 32 \u003e $shlib.def\n+\t\u0022\u005c$(PERL)\u0022 -i.tmp -pe \u0022s|^LIBRARY\u005c\u005cs+${mkdef_key}32|LIBRARY $shlib|;\u0022 $shlib.def\n \tDEL $shlib.def.tmp\n-\t\u005c$(PERL) $mkrc_pl $shlib$shlibext \u003e $shlib.rc\n+\t\u0022\u005c$(PERL)\u0022 \u0022$mkrc_pl\u0022 $shlib$shlibext \u003e $shlib.rc\n \t\u005c$(RC) \u005c$(RCOUTFLAG)$shlib.res $shlib.rc\n \t\u005c$(LD) \u005c$(LDFLAGS) \u005c$(LIB_LDFLAGS) \u005c\u005c\n \t\t/implib:\u005c$@ \u005c$(LDOUTFLAG)$shlib$shlibext /def:$shlib.def @\u003c\u003c || (DEL /Q \u005c$(\u005c@B).* $shlib.* \u0026\u0026 EXIT 1)\n@@ -478,13 +479,13 @@ EOF\n sub in2script {\n my %args \u003d @_;\n my $script \u003d $args{script};\n- my $sources \u003d join(\u0022 \u0022, @{$args{sources}});\n+ my $sources \u003d '\u0022'.join('\u0022 \u0022', @{$args{sources}}).'\u0022';\n my $dofile \u003d abs2rel(rel2abs(catfile($config{sourcedir},\n \u0022util\u0022, \u0022dofile.pl\u0022)),\n rel2abs($config{builddir}));\n return \u003c\u003c\u0022EOF\u0022;\n $script: $sources\n-\t\u005c$(PERL) \u0022-I\u005c$(BLDDIR)\u0022 -Mconfigdata \u0022$dofile\u0022 \u005c\u005c\n+\t\u0022\u005c$(PERL)\u0022 \u0022-I\u005c$(BLDDIR)\u0022 -Mconfigdata \u0022$dofile\u0022 \u005c\u005c\n \t \u0022-o$target{build_file}\u0022 $sources \u003e \u0022$script\u0022\n EOF\n }\n","s":{"c":1755716891,"u": 2946}}
],"g": 4291,"chitpc": 0,"ehitpc": 0,"indexed":0
,
"ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}