Browse Source

various changes

Nikolaos Alexopoulos 6 years ago
parent
commit
25671c40be
100 changed files with 48392 additions and 6594 deletions
  1. 1 0
      .gitignore
  2. BIN
      DLA_sum.txt
  3. 99 74
      apt-sec.py
  4. 42 0
      average_per_package.tex
  5. 0 0
      cache/cvetable
  6. 0 0
      cache/dsa2cve
  7. 0 0
      cache/dsatable
  8. 0 0
      cache/src2dsa
  9. 0 0
      cache/src2month
  10. 0 1
      cache/src2monthDLA
  11. 0 0
      cache/src2sum
  12. 1 1
      cache/state
  13. 1 0
      development-matplotlib
  14. 689 0
      line.tex
  15. 47284 19
      log
  16. 0 6297
      logDLAs
  17. 275 202
      lstm_reg.py
  18. BIN
      models/apache2-3smoothing3.h5
  19. BIN
      models/apache2-4smoothing4.h5
  20. BIN
      models/apache2-6smoothing6.h5
  21. BIN
      models/apache2-9smoothing9.h5
  22. BIN
      models/asterisk-3smoothing3.h5
  23. BIN
      models/asterisk-4smoothing4.h5
  24. BIN
      models/asterisk-6smoothing6.h5
  25. BIN
      models/asterisk-9smoothing9.h5
  26. BIN
      models/bind9-3smoothing3.h5
  27. BIN
      models/bind9-4smoothing4.h5
  28. BIN
      models/bind9-6smoothing6.h5
  29. BIN
      models/bind9-9smoothing9.h5
  30. BIN
      models/cacti-3smoothing3.h5
  31. BIN
      models/cacti-4smoothing4.h5
  32. BIN
      models/cacti-6smoothing6.h5
  33. BIN
      models/cacti-9smoothing9.h5
  34. BIN
      models/chromium-browser-3smoothing3.h5
  35. BIN
      models/chromium-browser-4smoothing4.h5
  36. BIN
      models/chromium-browser-6smoothing6.h5
  37. BIN
      models/chromium-browser-9smoothing9.h5
  38. BIN
      models/clamav-3smoothing3.h5
  39. BIN
      models/clamav-4smoothing4.h5
  40. BIN
      models/clamav-6smoothing6.h5
  41. BIN
      models/clamav-9smoothing9.h5
  42. BIN
      models/cups-3smoothing3.h5
  43. BIN
      models/cups-4smoothing4.h5
  44. BIN
      models/cups-6smoothing6.h5
  45. BIN
      models/cups-9smoothing9.h5
  46. BIN
      models/curl-3smoothing3.h5
  47. BIN
      models/curl-4smoothing4.h5
  48. BIN
      models/curl-6smoothing6.h5
  49. BIN
      models/curl-9smoothing9.h5
  50. BIN
      models/drupal7-3smoothing3.h5
  51. BIN
      models/drupal7-4smoothing4.h5
  52. BIN
      models/drupal7-6smoothing6.h5
  53. BIN
      models/drupal7-9smoothing9.h5
  54. BIN
      models/ffmpeg-3smoothing3.h5
  55. BIN
      models/ffmpeg-4smoothing4.h5
  56. BIN
      models/ffmpeg-6smoothing6.h5
  57. BIN
      models/ffmpeg-9smoothing9.h5
  58. BIN
      models/firefox-esr-3smoothing3.h5
  59. BIN
      models/firefox-esr-4smoothing4.h5
  60. BIN
      models/firefox-esr-6smoothing6.h5
  61. BIN
      models/firefox-esr-9smoothing9.h5
  62. BIN
      models/freetype-3smoothing3.h5
  63. BIN
      models/freetype-4smoothing4.h5
  64. BIN
      models/freetype-6smoothing6.h5
  65. BIN
      models/freetype-9smoothing9.h5
  66. BIN
      models/glibc-3smoothing3.h5
  67. BIN
      models/glibc-4smoothing4.h5
  68. BIN
      models/glibc-6smoothing6.h5
  69. BIN
      models/glibc-9smoothing9.h5
  70. BIN
      models/iceape-3smoothing3.h5
  71. BIN
      models/iceape-4smoothing4.h5
  72. BIN
      models/iceape-6smoothing6.h5
  73. BIN
      models/iceape-9smoothing9.h5
  74. BIN
      models/icedove-3smoothing3.h5
  75. BIN
      models/icedove-4smoothing4.h5
  76. BIN
      models/icedove-6smoothing6.h5
  77. BIN
      models/icedove-9smoothing9.h5
  78. BIN
      models/imagemagick-3smoothing3.h5
  79. BIN
      models/imagemagick-4smoothing4.h5
  80. BIN
      models/imagemagick-6smoothing6.h5
  81. BIN
      models/imagemagick-9smoothing9.h5
  82. BIN
      models/krb5-3smoothing3.h5
  83. BIN
      models/krb5-4smoothing4.h5
  84. BIN
      models/krb5-6smoothing6.h5
  85. BIN
      models/krb5-9smoothing9.h5
  86. BIN
      models/libav-3smoothing3.h5
  87. BIN
      models/libav-4smoothing4.h5
  88. BIN
      models/libav-6smoothing6.h5
  89. BIN
      models/libav-9smoothing9.h5
  90. BIN
      models/libgd2-3smoothing3.h5
  91. BIN
      models/libgd2-4smoothing4.h5
  92. BIN
      models/libgd2-6smoothing6.h5
  93. BIN
      models/libgd2-9smoothing9.h5
  94. BIN
      models/libpng1.6-3smoothing3.h5
  95. BIN
      models/libpng1.6-4smoothing4.h5
  96. BIN
      models/libpng1.6-6smoothing6.h5
  97. BIN
      models/libpng1.6-9smoothing9.h5
  98. BIN
      models/libreoffice-3smoothing3.h5
  99. BIN
      models/libreoffice-4smoothing4.h5
  100. BIN
      models/libreoffice-6smoothing6.h5

+ 1 - 0
.gitignore

@@ -1,5 +1,6 @@
 apt-sec.log
 CVE-search/
+models/
 __pycache__
 # Compiled source #
 ###################

BIN
DLA_sum.txt


+ 99 - 74
apt-sec.py

@@ -26,6 +26,8 @@ import psycopg2
 import powerlaw as pl
 import DLAmine as dla
 import pickle
+import paper_plots as carlosplt
+from matplotlib2tikz import save as tikz_save
 
 logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
 ## Increase the recursion limit by much to allow bs to parse large files
@@ -824,25 +826,26 @@ def plot_all(src2month):
     ## Sum of vulnerabilities by package
     src2sum = dict()
     src2year = dict()
-    year_sum = [0] * 16
-    year_num = [0] * 16
+    years = 16  # 2001 - 2000 + years
+    year_sum = [0] * years
+    year_num = [0] * years
     for pkg in src2month:
-        for j in range(16):
+        for j in range(years):
             temp =  sum(src2month[pkg][12*(1+j):12*(2+j)])
             if (temp>0):
                 year_num[j] += 1
             year_sum[j] += temp 
-        total = sum(src2month[pkg][12:-12])
-        last_year = sum(src2month[pkg][-24:-12])
+        total = sum(src2month[pkg][12:])
+        last_year = sum(src2month[pkg][-12:])
         print(pkg + '; ' + str(last_year))
-        if (total>0):
+        if (total>1):
             src2sum[pkg] = total
     
     values = sorted(src2sum.values(),reverse=True)
     keys = list(sorted(src2sum, key=src2sum.__getitem__, reverse=True))
     i = 0
     few_keys = []
-    print(keys)
+    #print(keys)
     for k in keys:
         if (i==0):
             few_keys.append(k)
@@ -851,105 +854,127 @@ def plot_all(src2month):
             i = 0
 
     print('package number =' + str(len(values)) + '... ' + str(len(keys)))
-    plt.style.use('ggplot')
-    plt.plot([1000] + values)
-    #plt.xticks(np.arange(1,len(src2sum),10.0)+1,few_keys, rotation="vertical")
+    carlosplt.pre_paper_plot(True)
+    #plt.style.use('ggplot')
+
+    plt.figure(figsize=(10,5))
+    plt.plot([1000] + values, color='darkblue', lw = 2)
+    plt.xticks(np.arange(1,len(src2sum),10.0)+1,few_keys, rotation="vertical")
     plt.ylabel('Vulnerabilities')
     plt.yscale('log')
-    plt.xscale('log')
+    #plt.xscale('log')
     plt.tight_layout()
+    carlosplt.post_paper_plot(True,True,True)
+    tikz_save('line.tex', figureheight='\\figureheight', figurewidth='\\figurewidth')
     plt.show()
 
     print('Yearly vulnerabilites in total' + str(year_sum))
 
     ## Number of affected packages
     n = len(year_sum)
-    yearsx = ['\'01', '\'02', '\'03', '\'04', '\'05', '\'06', '\'07', '\'08', '\'09', '\'10', '\'11' , '\'12' ,'\'13', '\'14', '\'15', '\'16']
-    x = range(16)
+    yearsx = []
+    for i in range(1,years+1):
+        yearsx.append('\''+str(i).zfill(2))
+    x = range(years)
     width = 1/2
-    plt.bar(x, year_num, width, color='orange')
+    plt.bar(x, year_num, width, color='darkblue', edgecolor='black')
     plt.xticks(np.arange(0,n),yearsx)
     plt.ylabel('Number of affected packages')
     plt.xlabel('Year')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
     
     
     ## Average number of vulnerabilities per package per year
-    average_per_year = [0] * 16
-    for j in range(16):
+    average_per_year = [0] * years
+    for j in range(years):
         average_per_year[j] = year_sum[j]/float(year_num[j])
 
     
 
     print(average_per_year)
+    x_values = list(range(1,years+1))
+    print(x_values)
+    slope = np.polyfit(x_values,average_per_year,1)
+
+    #slope = np.polyval(slope,x_values)
+    print('Slope: ' + str(slope))
 
 
     n = len(year_sum)
-    yearsx = ['\'01', '\'02', '\'03', '\'04', '\'05', '\'06', '\'07', '\'08', '\'09', '\'10', '\'11' , '\'12' ,'\'13', '\'14', '\'15', '\'16']
-    x = range(16)
+    x = range(years)
     width = 1/2
     #plt.bar(x, year_sum, width)
-    plt.bar(x, average_per_year, width, color='blue')
+    plt.bar(x, average_per_year, width, color='darkblue', edgecolor='black')
     plt.xticks(np.arange(0,n),yearsx)
     plt.ylabel('Average vulnerabilities per package')
     plt.xlabel('Year')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
 
     ## Work on selected packages (php7.0, openjdk8, wireshark, chromium-browser, icedove, linux)
 
     src2quarter = dict()
-    quarter_num = 17*4 
-    for pkg in src2month:
-        #if (pkg == 'php7.0' or pkg == 'openjdk-8' or pkg=='wireshark' or pkg=='chromium-browser' or pkg=='icedove' or pkg=='linux'):
-        if (pkg == 'php5'):
-            quarter_sum = [0] * quarter_num
-            for j in range(quarter_num):
-                temp =  sum(src2month[pkg][12+3*j:12+3*(j+1)])
-                quarter_sum[j] = temp
-            src2quarter[pkg] = quarter_sum
+    
+    quarter_num = years*4 
+    
+    pkg = 'php5'
+    quarter_sum = [0] * quarter_num
+    for j in range(quarter_num):
+        temp =  sum(src2month[pkg][12+3*j:12+3*(j+1)])
+        quarter_sum[j] = temp
+    src2quarter[pkg] = quarter_sum
 
     for pkg in src2quarter:
         n = len(src2quarter[pkg])
-        quartersx = ['1/\'01', '2/\'01', '3/\'01', '4/\'01', '1/\'02', '2/\'02', '3/\'02', '4/\'02', '1/\'03', '2/\'03', '3/\'03', '4/\'03', '1/\'04', '2/\'04', '3/\'04', '4/\'04', '1/\'05', '2/\'05', '3/\'05', '4/\'05', '1/\'06', '2/\'06', '3/\'06', '4/\'06', '1/\'07', '2/\'07', '3/\'07', '4/\'07', '1/\'08', '2/\'08', '3/\'08', '4/\'08', '1/\'09', '2/\'09', '3/\'09', '4/\'09', '1/\'10', '2/\'10', '3/\'10', '4/\'10', '1/\'11', '2/\'11', '3/\'11', '4/\'11', '1/\'12', '2/\'12', '3/\'12', '4/\'12', '1/\'13', '2/\'13', '3/\'13', '4/\'13', '1/\'14', '2/\'14', '3/\'14', '4/\'14', '1/\'15', '2/\'15', '3/\'15', '4/\'15', '1/\'16', '2/\'16', '3/\'16', '4/\'16', '1/\'17', '2/\'17', '3/\'17', '4/\'17']
-        x = range(quarter_num)
-        width = 1/2
-        ## Plot different colors for php
-        before = src2quarter[pkg][:-8] + ([0] * 8)
-        after = ([0] * 60) + src2quarter[pkg][-8:]
-        print(len(src2quarter[pkg]))
-
-        bar1 = plt.bar(x[:-26], before[24:-2], width, color='blue', label='before php7')
-        bar2 = plt.bar(x[:-26], after[24:-2], width, color='red', label='after php7')
-        plt.legend(handles=[bar1, bar2])
-
-        print('PHP Sum before: ' + str(sum(before)))
-        print('PHP Sum after: ' + str(sum(after)))
-        
-        #plt.bar(x, src2quarter[pkg], width, color='red')
-        plt.xticks(np.arange(0,n-26),quartersx[24:-2], rotation="vertical")
-        plt.ylabel('Vulnerabilities per quarter of package ' + pkg)
-        plt.xlabel('Quarter')
-        plt.show()
+    quartersx = []
+    for i in range(1,years+1):
+        for j in range(1,5):
+            if j==1:
+                quartersx.append('Q' + str(j)+'\''+str(i).zfill(2))
+            else:
+                quartersx.append(' ')
+
+
+
+    x = range(quarter_num)
+    width = 1/2
+    ## Plot different colors for php
+    before = src2quarter[pkg][:-8] + ([0] * 8)
+    after = ([0] * (len(before)-8)) + src2quarter[pkg][-8:]
+    print(len(src2quarter[pkg]))
+#
+    bar1 = plt.bar(x[:-26], before[24:-2], width, color='darkblue', label='before php7', edgecolor='black')
+    bar2 = plt.bar(x[:-26], after[24:-2], width, color='darkred', label='after php7', edgecolor='black')
+    plt.legend(handles=[bar1, bar2])
+#
+    print('PHP Sum before: ' + str(sum(before)))
+    print('PHP Sum after: ' + str(sum(after)))
+   
+    plt.xticks(np.arange(0,n-26),quartersx[24:-2], rotation="vertical")
+    plt.ylabel('Vulnerabilities per quarter of package ' + pkg)
+    plt.xlabel('Quarter')
+    carlosplt.post_paper_plot(True,True,True)
+    plt.show()
 
-    ## Plot for openjdk-7
+#    ## Plot for openjdk-7
     pkg = 'openjdk-7'
     quarter_sum = [0] * quarter_num
     for j in range(quarter_num):
         temp =  sum(src2month[pkg][12+3*j:12+3*(j+1)])
         quarter_sum[j] = temp
-        src2quarter[pkg] = quarter_sum
+    src2quarter[pkg] = quarter_sum
 
     n = len(src2quarter[pkg])
-    quartersx = ['1/\'01', '2/\'01', '3/\'01', '4/\'01', '1/\'02', '2/\'02', '3/\'02', '4/\'02', '1/\'03', '2/\'03', '3/\'03', '4/\'03', '1/\'04', '2/\'04', '3/\'04', '4/\'04', '1/\'05', '2/\'05', '3/\'05', '4/\'05', '1/\'06', '2/\'06', '3/\'06', '4/\'06', '1/\'07', '2/\'07', '3/\'07', '4/\'07', '1/\'08', '2/\'08', '3/\'08', '4/\'08', '1/\'09', '2/\'09', '3/\'09', '4/\'09', '1/\'10', '2/\'10', '3/\'10', '4/\'10', '1/\'11', '2/\'11', '3/\'11', '4/\'11', '1/\'12', '2/\'12', '3/\'12', '4/\'12', '1/\'13', '2/\'13', '3/\'13', '4/\'13', '1/\'14', '2/\'14', '3/\'14', '4/\'14', '1/\'15', '2/\'15', '3/\'15', '4/\'15', '1/\'16', '2/\'16', '3/\'16', '4/\'16', '1/\'17', '2/\'17', '3/\'17', '4/\'17']
     x = range(quarter_num)
     width = 1/2
-    ## Plot different colors for php
+#    ## Plot different colors for openjdk
     before = src2quarter[pkg][:-10] + ([0] * 10)
-    after = ([0] * 58) + src2quarter[pkg][-10:]
+    after = ([0] * (len(before)-10)) + src2quarter[pkg][-10:]
     print(len(src2quarter[pkg]))
 
-    bar1 = plt.bar(x[:-48], before[48:], width, color='blue', label='before openjdk-8')
-    bar2 = plt.bar(x[:-48], after[48:], width, color='red', label='after openjdk-8')
+    bar1 = plt.bar(x[:-48], before[48:], width, color='darkblue', label='before openjdk-8', edgecolor='black')
+    bar2 = plt.bar(x[:-48], after[48:], width, color='darkred', label='after openjdk-8', edgecolor='black')
     plt.legend(handles=[bar1, bar2])
     
     print('OpenJDK Sum before: ' + str(sum(before)))
@@ -959,6 +984,7 @@ def plot_all(src2month):
     plt.xticks(np.arange(0,n-48),quartersx[48:], rotation="vertical")
     plt.ylabel('Vulnerabilities per quarter of package ' + pkg)
     plt.xlabel('Quarter')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
 
 
@@ -966,14 +992,14 @@ def plot_all(src2month):
     ###############################################################################################
 
     n = len(year_sum)
-    yearsx = ['\'01', '\'02', '\'03', '\'04', '\'05', '\'06', '\'07', '\'08', '\'09', '\'10', '\'11' , '\'12' ,'\'13', '\'14', '\'15', '\'16']
-    x = range(16)
+    x = range(years)
     width = 1/2
-    plt.bar(x, year_sum, width)
+    plt.bar(x, year_sum, width, color='darkblue', edgecolor='black')
     #plt.bar(x, average_per_year, width)
     plt.xticks(np.arange(0,n),yearsx)
     plt.ylabel('Total vulnerabilities')
     plt.xlabel('Year')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
 
     sumall = sum(values)
@@ -1004,15 +1030,17 @@ def plot_all(src2month):
         LTS_quarter.append(temp)
 
     ## Print all LTS
+    cut = 12*4+1
     n = len(quarter_sum)
     x = range(quarter_num)
     width = 1/2
 
-    plt.bar(x, LTS_quarter, width, color='red', label='regular support')
+    plt.bar(x, LTS_quarter, width, color='brown', label='regular support', edgecolor='black')
     
     plt.xticks(np.arange(0,n),quartersx, rotation="vertical")
     plt.ylabel('Vulnerabilities per quarter of Debian LTS')
     plt.xlabel('Quarter')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
 
 
@@ -1025,23 +1053,25 @@ def plot_all(src2month):
 
     print(quarter_sum_errors)
 
-    n = len(quarter_sum)
-    x = range(quarter_num)
+    cut = 12*4+1
+    n = len(quarter_sum) - cut
+    x = range(quarter_num-cut)
     width = 1/2
     
     print(len(LTS_quarter))
 
-    bar1 = plt.bar(x, quarter_sum_regular, width, color='brown', label='regular support')
-    bar12 = plt.bar(x, quarter_sum_errors, width, color='orange', label='regular support after release of next version - may contain noise')
-    bar2 = plt.bar(x, LTS_quarter, width, color='blue', label ='long-term support')
+    bar1 = plt.bar(x, quarter_sum_regular[cut:], width, color='darkblue', label='regular', edgecolor='black')
+    bar12 = plt.bar(x, quarter_sum_errors[cut:], width, color='darkorange', label='regular*', edgecolor='black')
+    bar2 = plt.bar(x, LTS_quarter[cut:], width, color='darkred', label ='long-term', edgecolor='black')
 
     #bar1 = plt.bar(x[:-48], before[48:], width, color='blue', label='regular support')
     #bar2 = plt.bar(x[:-48], after[48:], width, color='red', label='long-term support')
     plt.legend(handles=[bar1, bar12, bar2])
     
-    plt.xticks(np.arange(0,n),quartersx, rotation="vertical")
+    plt.xticks(np.arange(0,n),quartersx[cut:], rotation="vertical")
     plt.ylabel('Vulnerabilities per quarter of Debian Wheezy')
     plt.xlabel('Quarter')
+    carlosplt.post_paper_plot(True,True,True)
     plt.show()
 
 
@@ -1098,17 +1128,12 @@ def aptsec_help():
 ##
 ## Note: aptsec_status(), considers *reportedly installed* packages, while this
 ## one looks at *actually loaded* software that influenced the CPU since bootup.
-def aptsec_attest(sha1file):
-    pass
-
-## Main Program starts here!!
-
 try:
     action = sys.argv[1]
 except IndexError:
-#    print('No argument given')
-#    aptsec_help()
-#    sys.exit(0)
+    print('No argument given')
+    aptsec_help()
+    sys.exit(0)
     action = ''
 
 
@@ -1144,7 +1169,7 @@ if action == 'update':
 #    getdeps(src2dsa, src2deps)
     save_DBs(dsatable, src2dsa, dsa2cve, cvetable, src2month, src2sloccount, src2pop, src2deps, src2sum)
     save_state(state)
-    lstm.predict(src2month, src2sloccount, src2pop, src2deps)
+#    lstm.predict(src2month, src2sloccount, src2pop, src2deps)
 #    print(pkg_with_cvss['linux'])
     
     low = []

+ 42 - 0
average_per_package.tex

@@ -0,0 +1,42 @@
+% This file was created by matplotlib2tikz v0.6.14.
+\begin{tikzpicture}
+
+\begin{axis}[
+xlabel={Year},
+ylabel={Average vulnerabilities per package},
+xmin=-1.075, xmax=17.075,
+ymin=0, ymax=7.77125748502994,
+width=\figurewidth,
+height=\figureheight,
+xtick={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},
+xticklabels={'01,'02,'03,'04,'05,'06,'07,'08,'09,'10,'11,'12,'13,'14,'15,'16,'17},
+tick pos=left,
+x grid style={white!69.019607843137251!black},
+y grid style={white!69.019607843137251!black}
+]
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:-0.25,0) rectangle (axis cs:0.25,1.63768115942029);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:0.75,0) rectangle (axis cs:1.25,1.88695652173913);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:1.75,0) rectangle (axis cs:2.25,1.90123456790123);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:2.75,0) rectangle (axis cs:3.25,2.05806451612903);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:3.75,0) rectangle (axis cs:4.25,2.76734693877551);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:4.75,0) rectangle (axis cs:5.25,3.12269938650307);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:5.75,0) rectangle (axis cs:6.25,3.26966292134831);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:6.75,0) rectangle (axis cs:7.25,4.58041958041958);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:7.75,0) rectangle (axis cs:8.25,3.38219895287958);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:8.75,0) rectangle (axis cs:9.25,3.83478260869565);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:9.75,0) rectangle (axis cs:10.25,4.69285714285714);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:10.75,0) rectangle (axis cs:11.25,4.41605839416058);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:11.75,0) rectangle (axis cs:12.25,5.33333333333333);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:12.75,0) rectangle (axis cs:13.25,5.76315789473684);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:13.75,0) rectangle (axis cs:14.25,6.1030303030303);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:14.75,0) rectangle (axis cs:15.25,7.40119760479042);
+\draw[draw=black,fill=blue!54.509803921568626!black] (axis cs:15.75,0) rectangle (axis cs:16.25,7.33510638297872);
+\path [opacity=0] (axis cs:1,13)
+--(axis cs:1,13);
+
+\path [opacity=0] (axis cs:13,1)
+--(axis cs:13,1);
+
+\end{axis}
+
+\end{tikzpicture}

File diff suppressed because it is too large
+ 0 - 0
cache/cvetable


File diff suppressed because it is too large
+ 0 - 0
cache/dsa2cve


File diff suppressed because it is too large
+ 0 - 0
cache/dsatable


File diff suppressed because it is too large
+ 0 - 0
cache/src2dsa


File diff suppressed because it is too large
+ 0 - 0
cache/src2month


+ 0 - 1
cache/src2monthDLA

@@ -1 +0,0 @@
-{}

File diff suppressed because it is too large
+ 0 - 0
cache/src2sum


+ 1 - 1
cache/state

@@ -1 +1 @@
-{"cache_dir": "cache/state", "next_adv": 4021, "next_fsa": 0, "Packages": "", "Sources": "", "Sha1Sums": "", "vendor": "debian"}
+{"cache_dir": "cache/state", "next_adv": 4065, "next_fsa": 0, "Packages": "", "Sources": "", "Sha1Sums": "", "vendor": "debian"}

+ 1 - 0
development-matplotlib

@@ -0,0 +1 @@
+Subproject commit 35f74cc01dcdadc0959e9af2e1aabe81f19b52c6

+ 689 - 0
line.tex

@@ -0,0 +1,689 @@
+% This file was created by matplotlib2tikz v0.6.14.
+\begin{tikzpicture}
+
+\begin{axis}[
+ylabel={Vulnerabilities},
+xmin=-32.85, xmax=689.85,
+ymin=1.46582287710854, ymax=1364.42133032142,
+ymode=log,
+width=\figurewidth,
+height=\figureheight,
+xtick={2,12,22,32,42,52,62,72,82,92,102,112,122,132,142,152,162,172,182,192,202,212,222,232,242,252,262,272,282,292,302,312,322,332,342,352,362,372,382,392,402,412,422,432,442,452,462,472,482,492,502,512,522,532,542,552,562,572,582,592,602,612,622,632,642,652},
+xticklabels={linux,iceape,xorg-server,cups,cacti,php4,mahara,mysql,cvs,poppler,gdk-pixbuf,postgresql,openssh,pdfkit,wu-ftpd,kazehakase,gallery,webcalendar,postfix,ecryptfs-utils,rsync,hplip,freerdp,cyrus-sasl2,maradns,openttd,libgcrypt20,super,libxml,libpam-ldap,fail2ban,foomatic-filters,xerces-c,xinetd,zlib,slocate,fte,affix,streamripper,libnet-dns-perl,pango1.0,kvirc,roundcube,redis,cron,listar,canna,gnocatan,node,xine-ui,lvm2,ht,dia,flex,links2,eggdrop,opensc,ldns,pcsc-lite,inetutils,stunnel4,libtar,rsyslog,dulwich,fuseiso,undertow},
+ytick={0.1,1,10,100,1000,10000,100000},
+yticklabels={,,$10^{1}$,$10^{2}$,$10^{3}$,,},
+xticklabel style = {rotate=90},
+tick pos=left,
+x grid style={white!69.019607843137251!black},
+y grid style={white!69.019607843137251!black}
+]
+\addplot [thick, blue!54.509803921568626!black, forget plot]
+table {%
+0 1000
+1 853
+2 685
+3 609
+4 416
+5 276
+6 243
+7 214
+8 211
+9 211
+10 182
+11 178
+12 170
+13 156
+14 148
+15 135
+16 130
+17 113
+18 100
+19 85
+20 78
+21 75
+22 73
+23 73
+24 70
+25 68
+26 68
+27 63
+28 62
+29 62
+30 61
+31 61
+32 61
+33 60
+34 57
+35 57
+36 55
+37 54
+38 52
+39 52
+40 47
+41 46
+42 45
+43 44
+44 44
+45 43
+46 41
+47 41
+48 40
+49 39
+50 38
+51 37
+52 37
+53 37
+54 35
+55 35
+56 33
+57 32
+58 32
+59 31
+60 28
+61 28
+62 27
+63 27
+64 27
+65 27
+66 27
+67 26
+68 26
+69 26
+70 25
+71 24
+72 24
+73 23
+74 23
+75 23
+76 22
+77 22
+78 22
+79 22
+80 21
+81 20
+82 20
+83 20
+84 19
+85 19
+86 18
+87 18
+88 18
+89 18
+90 18
+91 18
+92 18
+93 18
+94 17
+95 17
+96 17
+97 17
+98 16
+99 16
+100 16
+101 16
+102 16
+103 16
+104 16
+105 15
+106 15
+107 15
+108 15
+109 15
+110 15
+111 14
+112 14
+113 14
+114 14
+115 14
+116 13
+117 13
+118 13
+119 13
+120 13
+121 12
+122 12
+123 12
+124 12
+125 12
+126 12
+127 11
+128 11
+129 11
+130 11
+131 11
+132 11
+133 11
+134 11
+135 11
+136 11
+137 11
+138 11
+139 11
+140 11
+141 10
+142 10
+143 10
+144 10
+145 10
+146 10
+147 10
+148 10
+149 10
+150 10
+151 10
+152 10
+153 10
+154 10
+155 10
+156 10
+157 10
+158 10
+159 10
+160 9
+161 9
+162 9
+163 9
+164 9
+165 9
+166 9
+167 9
+168 9
+169 9
+170 8
+171 8
+172 8
+173 8
+174 8
+175 8
+176 8
+177 8
+178 8
+179 8
+180 8
+181 7
+182 7
+183 7
+184 7
+185 7
+186 7
+187 7
+188 7
+189 7
+190 7
+191 7
+192 7
+193 7
+194 7
+195 7
+196 7
+197 7
+198 6
+199 6
+200 6
+201 6
+202 6
+203 6
+204 6
+205 6
+206 6
+207 6
+208 6
+209 6
+210 6
+211 6
+212 6
+213 6
+214 6
+215 6
+216 6
+217 6
+218 6
+219 6
+220 6
+221 6
+222 5
+223 5
+224 5
+225 5
+226 5
+227 5
+228 5
+229 5
+230 5
+231 5
+232 5
+233 5
+234 5
+235 5
+236 5
+237 5
+238 5
+239 5
+240 5
+241 5
+242 5
+243 5
+244 5
+245 5
+246 5
+247 5
+248 5
+249 5
+250 5
+251 5
+252 5
+253 5
+254 5
+255 5
+256 5
+257 5
+258 5
+259 5
+260 5
+261 5
+262 5
+263 5
+264 5
+265 5
+266 5
+267 5
+268 4
+269 4
+270 4
+271 4
+272 4
+273 4
+274 4
+275 4
+276 4
+277 4
+278 4
+279 4
+280 4
+281 4
+282 4
+283 4
+284 4
+285 4
+286 4
+287 4
+288 4
+289 4
+290 4
+291 4
+292 4
+293 4
+294 4
+295 4
+296 4
+297 4
+298 4
+299 4
+300 4
+301 4
+302 4
+303 4
+304 4
+305 4
+306 4
+307 4
+308 4
+309 4
+310 4
+311 4
+312 4
+313 4
+314 4
+315 4
+316 4
+317 4
+318 4
+319 4
+320 4
+321 4
+322 4
+323 4
+324 4
+325 4
+326 4
+327 3
+328 3
+329 3
+330 3
+331 3
+332 3
+333 3
+334 3
+335 3
+336 3
+337 3
+338 3
+339 3
+340 3
+341 3
+342 3
+343 3
+344 3
+345 3
+346 3
+347 3
+348 3
+349 3
+350 3
+351 3
+352 3
+353 3
+354 3
+355 3
+356 3
+357 3
+358 3
+359 3
+360 3
+361 3
+362 3
+363 3
+364 3
+365 3
+366 3
+367 3
+368 3
+369 3
+370 3
+371 3
+372 3
+373 3
+374 3
+375 3
+376 3
+377 3
+378 3
+379 3
+380 3
+381 3
+382 3
+383 3
+384 3
+385 3
+386 3
+387 3
+388 3
+389 3
+390 3
+391 3
+392 3
+393 3
+394 3
+395 3
+396 3
+397 3
+398 3
+399 3
+400 3
+401 3
+402 3
+403 3
+404 3
+405 3
+406 3
+407 3
+408 3
+409 3
+410 3
+411 3
+412 3
+413 3
+414 3
+415 3
+416 3
+417 3
+418 3
+419 3
+420 3
+421 3
+422 3
+423 3
+424 3
+425 3
+426 3
+427 3
+428 3
+429 3
+430 3
+431 3
+432 3
+433 3
+434 3
+435 3
+436 3
+437 3
+438 3
+439 3
+440 2
+441 2
+442 2
+443 2
+444 2
+445 2
+446 2
+447 2
+448 2
+449 2
+450 2
+451 2
+452 2
+453 2
+454 2
+455 2
+456 2
+457 2
+458 2
+459 2
+460 2
+461 2
+462 2
+463 2
+464 2
+465 2
+466 2
+467 2
+468 2
+469 2
+470 2
+471 2
+472 2
+473 2
+474 2
+475 2
+476 2
+477 2
+478 2
+479 2
+480 2
+481 2
+482 2
+483 2
+484 2
+485 2
+486 2
+487 2
+488 2
+489 2
+490 2
+491 2
+492 2
+493 2
+494 2
+495 2
+496 2
+497 2
+498 2
+499 2
+500 2
+501 2
+502 2
+503 2
+504 2
+505 2
+506 2
+507 2
+508 2
+509 2
+510 2
+511 2
+512 2
+513 2
+514 2
+515 2
+516 2
+517 2
+518 2
+519 2
+520 2
+521 2
+522 2
+523 2
+524 2
+525 2
+526 2
+527 2
+528 2
+529 2
+530 2
+531 2
+532 2
+533 2
+534 2
+535 2
+536 2
+537 2
+538 2
+539 2
+540 2
+541 2
+542 2
+543 2
+544 2
+545 2
+546 2
+547 2
+548 2
+549 2
+550 2
+551 2
+552 2
+553 2
+554 2
+555 2
+556 2
+557 2
+558 2
+559 2
+560 2
+561 2
+562 2
+563 2
+564 2
+565 2
+566 2
+567 2
+568 2
+569 2
+570 2
+571 2
+572 2
+573 2
+574 2
+575 2
+576 2
+577 2
+578 2
+579 2
+580 2
+581 2
+582 2
+583 2
+584 2
+585 2
+586 2
+587 2
+588 2
+589 2
+590 2
+591 2
+592 2
+593 2
+594 2
+595 2
+596 2
+597 2
+598 2
+599 2
+600 2
+601 2
+602 2
+603 2
+604 2
+605 2
+606 2
+607 2
+608 2
+609 2
+610 2
+611 2
+612 2
+613 2
+614 2
+615 2
+616 2
+617 2
+618 2
+619 2
+620 2
+621 2
+622 2
+623 2
+624 2
+625 2
+626 2
+627 2
+628 2
+629 2
+630 2
+631 2
+632 2
+633 2
+634 2
+635 2
+636 2
+637 2
+638 2
+639 2
+640 2
+641 2
+642 2
+643 2
+644 2
+645 2
+646 2
+647 2
+648 2
+649 2
+650 2
+651 2
+652 2
+653 2
+654 2
+655 2
+656 2
+657 2
+};
+\path [opacity=0] (axis cs:1,13)
+--(axis cs:1,13);
+
+\path [opacity=0] (axis cs:13,1)
+--(axis cs:13,1);
+
+\end{axis}
+
+\end{tikzpicture}

+ 47284 - 19
log

@@ -16,6 +16,8 @@ openssh 12
 bind9 68
 man-db 5
 proftpd 9
+CVE-2017-13721
+CVE-2017-13723
 xorg-server 75
 sudo 19
 analog 2
@@ -107,7 +109,7 @@ listar 2
 mtr 2
 xpilot 1
 wireshark 271
-openssl 133
+openssl 135
 mm 1
 gallery 9
 super 4
@@ -252,7 +254,9 @@ CVE-2017-8355
 CVE-2017-8356
 CVE-2017-8357
 CVE-2017-8765
-imagemagick 149
+CVE-2017-14607
+CVE-2017-14682
+imagemagick 180
 acm 1
 xgalaga 1
 gtksee 1
@@ -349,7 +353,10 @@ www-sql 1
 rlpr 2
 pavuk 1
 mailreader 2
-ruby2.3 56
+CVE-2017-0898
+CVE-2017-10784
+CVE-2017-14033
+ruby2.3 60
 qt-copy 3
 imlib 3
 gtk+2.0 10
@@ -459,7 +466,7 @@ pdns 15
 apt-cacher 1
 several[]
 several 0
-firefox-esr 681
+firefox-esr 684
 bluez-utils 1
 mysql-transitional 243
 libpam-ldap 4
@@ -599,7 +606,7 @@ CVE-2017-8287
 freetype 57
 wv2 1
 pinball 1
-libreoffice 52
+libreoffice 54
 ppp 3
 rssh 4
 hashcash 1
@@ -652,12 +659,13 @@ qemu 100
 wordpress 130
 ldap-account-manager 2
 qt4-x11 11
-otrs2 12
+CVE-2017-14635
+otrs2 13
 iceape 178
 lighttpd 28
 icedove 413
 xulrunner 211
-postgresql-9.6 59
+postgresql-9.6 62
 libapache-mod-jk 3
 mplayer 11
 open-iscsi 2
@@ -694,6 +702,7 @@ zabbix 5
 e2fsprogs 3
 libnss-ldap 1
 link-grammar 1
+CVE-2010-3659
 typo3-src 63
 inotify-tools 1
 peercast 2
@@ -814,13 +823,13 @@ openswan 6
 icu 27
 tunapie 2
 multipath-tools 1
-openjdk-8 262
+openjdk-8 276
 imp4 4
 udev 2
 ejabberd 4
 php-json-ext 1
-slurm-llnl[]
-slurm-llnl 0
+CVE-2017-15566
+slurm-llnl 1
 apt 10
 libdbd-pg-perl 3
 acpid 5
@@ -860,7 +869,7 @@ newt 1
 xmltooling 1
 opensaml 3
 shibboleth-sp 4
-mediawiki 30
+mediawiki 37
 graphicsmagick 26
 pygresql 1
 mimetex 2
@@ -871,8 +880,8 @@ php-mail[]
 php-mail 0
 request-tracker4 40
 belpic 1
-shibboleth-sp2 2
-opensaml2 2
+shibboleth-sp2 3
+opensaml2 3
 php-net-ping 1
 webkit 27
 firefox-sage 1
@@ -957,7 +966,7 @@ CVE-2017-5119
 CVE-2017-5120
 CVE-2017-5121
 CVE-2017-5122
-chromium-browser 570
+chromium-browser 592
 telepathy-gabble 1
 pywebdav 1
 dtc 9
@@ -1104,12 +1113,12 @@ davfs2 1
 icedtea-web 1
 systemd 3
 ruby-rack 4
-roundcube 2
+roundcube 3
 tryton-client 1
 libav 47
 libhttp-body-perl 1
 sup-mail 2
-varnish 3
+varnish 4
 munin 3
 libtar 2
 pixman 2
@@ -1162,7 +1171,7 @@ rsyslog 2
 wpa 22
 quassel 2
 libxml-security-java 1
-konversation 1
+konversation 2
 libksba 1
 libvncserver 7
 getmail4 3
@@ -1272,7 +1281,7 @@ libdbd-mysql-perl 3
 fontconfig 1
 charybdis 1
 openjpeg2 18
-irssi 4
+irssi 11
 unadf 2
 c-ares 1
 kdepimlibs 1
@@ -1345,8 +1354,47264 @@ CVE-2017-14604
 nautilus 1
 CVE-2017-14339
 yadifa 1
-jackson-databind 1
+jackson-databind 2
 openjfx 2
 CVE-2017-15924
 shadowsocks-libev 1
 git-annex 1
+libpam4j 1
+CVE-2017-15953
+CVE-2017-15954
+CVE-2017-15955
+bchunk 3
+batch_num:
+174
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+(213,)
+(213, 1)
+(213,)
+213
+186 18
+Epoch 1/1
+0s - loss: 0.0066
+Epoch 1/1
+0s - loss: 0.0063
+Epoch 1/1
+0s - loss: 0.0058
+Epoch 1/1
+0s - loss: 0.0056
+Epoch 1/1
+0s - loss: 0.0054
+Epoch 1/1
+0s - loss: 0.0051
+Epoch 1/1
+0s - loss: 0.0048
+Epoch 1/1
+0s - loss: 0.0045
+Epoch 1/1
+0s - loss: 0.0044
+Epoch 1/1
+0s - loss: 0.0041
+Epoch 1/1
+0s - loss: 0.0038
+Epoch 1/1
+0s - loss: 0.0039
+Epoch 1/1
+0s - loss: 0.0036
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0037
+Epoch 1/1
+0s - loss: 0.0039
+Epoch 1/1
+0s - loss: 0.0040
+Epoch 1/1
+0s - loss: 0.0038
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0037
+Epoch 1/1
+0s - loss: 0.0038
+Epoch 1/1
+0s - loss: 0.0038
+Epoch 1/1
+0s - loss: 0.0037
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0036
+Epoch 1/1
+0s - loss: 0.0036
+Epoch 1/1
+0s - loss: 0.0036
+Epoch 1/1
+0s - loss: 0.0035
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0028
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0029
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0033
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0030
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0031
+Epoch 1/1
+0s - loss: 0.0032
+Epoch 1/1
+0s - loss: 0.0034
+Epoch 1/1