)]}'
{"manifests/db/sync.pp":[{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"642c4dbd01100a2dfbc04b9d36db80d746d69846","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    user        \u003d\u003e \u0027keystone\u0027,"},{"line_number":8,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":9,"context_line":"    subscribe   \u003d\u003e [Package[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":10,"context_line":"    require     \u003d\u003e [User[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":11,"context_line":"  }"},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"7ac7a964_74ac4bee","line":10,"updated":"2014-08-15 04:02:58.000000000","message":"The require relationship with Keystone_config[\u0027database/connection\u0027] is implied by the subscribe relationship. You don\u0027t need to add it again.","commit_id":"06d5504e4a54824804ebf718516ceed05a6bddb8"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"a655c6ad05a76ddb9faf393457f0ff3ebf026eb0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    user        \u003d\u003e \u0027keystone\u0027,"},{"line_number":8,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":9,"context_line":"    subscribe   \u003d\u003e [Package[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":10,"context_line":"    require     \u003d\u003e [User[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":11,"context_line":"  }"},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":12,"id":"7ac7a964_e09320f8","line":10,"in_reply_to":"7ac7a964_74ac4bee","updated":"2014-08-15 15:36:09.000000000","message":"Done","commit_id":"06d5504e4a54824804ebf718516ceed05a6bddb8"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"df40ea3118f3032e63dd631d2cfe78da5cba3739","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    user        \u003d\u003e \u0027keystone\u0027,"},{"line_number":8,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":9,"context_line":"    subscribe   \u003d\u003e [Package[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":10,"context_line":"    require     \u003d\u003e [User[\u0027keystone\u0027]],"},{"line_number":11,"context_line":"  }"},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_f59a1dc4","line":10,"updated":"2014-08-26 08:59:16.000000000","message":"User[\u0027keystone\u0027] would be enough, right?","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"10546f6bd6c555adaca62e2c7b6aef03eea5fa5e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    user        \u003d\u003e \u0027keystone\u0027,"},{"line_number":8,"context_line":"    refreshonly \u003d\u003e true,"},{"line_number":9,"context_line":"    subscribe   \u003d\u003e [Package[\u0027keystone\u0027], Keystone_config[\u0027database/connection\u0027]],"},{"line_number":10,"context_line":"    require     \u003d\u003e [User[\u0027keystone\u0027]],"},{"line_number":11,"context_line":"  }"},{"line_number":12,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"da9df570_0dbc0d69","line":10,"in_reply_to":"1abeadc6_f59a1dc4","updated":"2014-09-22 14:30:48.000000000","message":"Done","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"}],"manifests/init.pp":[{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"443d64ef503649f476b9a619cfa1787561dfe32f","unresolved":false,"context_lines":[{"line_number":295,"context_line":"  }"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"  if $use_wsgi {"},{"line_number":298,"context_line":"    $_service \u003d \u0027httpd\u0027"},{"line_number":299,"context_line":"  } else {"},{"line_number":300,"context_line":"    $_service \u003d \u0027keystone\u0027"},{"line_number":301,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":8,"id":"baada198_dad21afc","line":298,"updated":"2014-07-26 21:13:30.000000000","message":"IMO, we should come up with a better and more cleaver way to handle which service we should notify. All I can think of is a dummy resource other resources can subscribe to or notify.","commit_id":"d3b3108e23386ca93b2d743c2a66a3b4e0f91f35"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"82c66af9640a1c93c73d035aebbac2a1a3a0d73b","unresolved":false,"context_lines":[{"line_number":572,"context_line":"      }"},{"line_number":573,"context_line":"    }"},{"line_number":574,"context_line":"  } else {"},{"line_number":575,"context_line":"    class { \u0027keystone::wsgi::apache\u0027:"},{"line_number":576,"context_line":"      ssl \u003d\u003e $enable_ssl"},{"line_number":577,"context_line":"    }"},{"line_number":578,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"7ac7a964_b5260167","line":575,"updated":"2014-08-14 12:24:46.000000000","message":"I don\u0027t think this class should be created here since it has quite a few parameters. It would be better to simply do nothing in this class and include the class from packstack (the composition layer) or wherever you are including keystone from.\n\nWe moved away from the style where you just create one class and it makes all the subclasses because it bloats the interface of the top level class and makes it harder to maintain.","commit_id":"6e12f7463b7c6c45a5a8b52cf97edf56c0503b89"},{"author":{"_account_id":6994,"name":"Michael Chapman","email":"woppin@gmail.com","username":"michaeltchapman"},"change_message_id":"d5bfa86620a9902df9433060213cefe9f089b935","unresolved":false,"context_lines":[{"line_number":572,"context_line":"      }"},{"line_number":573,"context_line":"    }"},{"line_number":574,"context_line":"  } else {"},{"line_number":575,"context_line":"    class { \u0027keystone::wsgi::apache\u0027:"},{"line_number":576,"context_line":"      ssl \u003d\u003e $enable_ssl"},{"line_number":577,"context_line":"    }"},{"line_number":578,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"7ac7a964_ae9ceb6a","line":575,"in_reply_to":"7ac7a964_1d5d1b22","updated":"2014-08-14 14:35:09.000000000","message":"No, you include keystone::wsgi::apache separately in your top level manifest or profile or packstack manifest or whatever if you\u0027re setting this option. Just like we include classes like nova::quota if we need to, or any other class.\n\nThis lets people pass in exactly the parameters they need. Your current code prevents anyone from creating the class elsewhere with other parameters, which limits the flexibility of the module.\n\nHere\u0027s what I suggest you do:\n\nremove the wsgi::apache class creation. remove your use_wsgi parameter, and replace it with a parameter called service_name. Put a docstring that says you can configure the name of the service responsible for keystone, and give the example that if you set it to httpd you can include the keystone::wsgi::apache class to run keystone via wsgi. I suppose there are in theory other options like nginx/uwsgi and gunicorn as well. Then, add \nclass {\u0027keystone::wsgi::apache\u0027: } to the appropriate part of packstack.\n\nReason:\n\nThere are only two logical changes in this file: you are changing the keystone service name to be configurable, and you are including a class. Including a class from here is not good practice, and changing the service name should have a parameter name that matches what it does.","commit_id":"6e12f7463b7c6c45a5a8b52cf97edf56c0503b89"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"6d674d786bc58e4b54bc4df3059fad44d2500d77","unresolved":false,"context_lines":[{"line_number":572,"context_line":"      }"},{"line_number":573,"context_line":"    }"},{"line_number":574,"context_line":"  } else {"},{"line_number":575,"context_line":"    class { \u0027keystone::wsgi::apache\u0027:"},{"line_number":576,"context_line":"      ssl \u003d\u003e $enable_ssl"},{"line_number":577,"context_line":"    }"},{"line_number":578,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"da9df570_2d2551c2","line":575,"in_reply_to":"7ac7a964_ae9ceb6a","updated":"2014-09-22 14:31:49.000000000","message":"Done","commit_id":"6e12f7463b7c6c45a5a8b52cf97edf56c0503b89"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"c4e4f8ac692c85e93e099ccfe38c8c4e7c8550ba","unresolved":false,"context_lines":[{"line_number":572,"context_line":"      }"},{"line_number":573,"context_line":"    }"},{"line_number":574,"context_line":"  } else {"},{"line_number":575,"context_line":"    class { \u0027keystone::wsgi::apache\u0027:"},{"line_number":576,"context_line":"      ssl \u003d\u003e $enable_ssl"},{"line_number":577,"context_line":"    }"},{"line_number":578,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"7ac7a964_1d5d1b22","line":575,"in_reply_to":"7ac7a964_b5260167","updated":"2014-08-14 13:18:04.000000000","message":"When the keystone class is evaluated, should the keystone service be running and serving requests?  That\u0027s the way it works without wsgi, and that\u0027s the way I think it should work if use_wsgi \u003d\u003e true.  So how do I do that without doing class { \u0027keystone::wsgi::apache\u0027 } in class keystone?  Do I just copy all of that code into class keystone?","commit_id":"6e12f7463b7c6c45a5a8b52cf97edf56c0503b89"},{"author":{"_account_id":8482,"name":"Colleen Murphy","email":"colleen@gazlene.net","username":"krinkle"},"change_message_id":"ce81c2352e3d49070b9f635aa6e95dc14f59c074","unresolved":false,"context_lines":[{"line_number":634,"context_line":""},{"line_number":635,"context_line":"  if $enabled {"},{"line_number":636,"context_line":"    include ::keystone::db::sync"},{"line_number":637,"context_line":"    Class[\u0027keystone::db::sync\u0027] ~\u003e Service[$service_name]"},{"line_number":638,"context_line":"  }"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"  # Syslog configuration"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"da9df570_0683da56","line":637,"updated":"2014-09-23 21:42:54.000000000","message":"If the scope of keystone is changed to topscope in the line above then that should be reflected in the reference too (Class[\u0027::keystone::db::sync\u0027])","commit_id":"869a1383246446296aacada359fd45c4c61c4e65"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"b1fa55c37134b3ff466976d22314199cac5659fb","unresolved":false,"context_lines":[{"line_number":634,"context_line":""},{"line_number":635,"context_line":"  if $enabled {"},{"line_number":636,"context_line":"    include ::keystone::db::sync"},{"line_number":637,"context_line":"    Class[\u0027keystone::db::sync\u0027] ~\u003e Service[$service_name]"},{"line_number":638,"context_line":"  }"},{"line_number":639,"context_line":""},{"line_number":640,"context_line":"  # Syslog configuration"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"da9df570_ac590d5d","line":637,"in_reply_to":"da9df570_0683da56","updated":"2014-09-24 00:33:21.000000000","message":"Done","commit_id":"869a1383246446296aacada359fd45c4c61c4e65"}],"manifests/params.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"df40ea3118f3032e63dd631d2cfe78da5cba3739","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        }"},{"line_number":18,"context_line":"        default: {"},{"line_number":19,"context_line":"          $service_provider            \u003d \u0027upstart\u0027"},{"line_number":20,"context_line":"          $keystone_wsgi_script_source \u003d \u0027puppet:///modules/keystone/httpd/keystone.py\u0027"},{"line_number":21,"context_line":"        }"},{"line_number":22,"context_line":"      }"},{"line_number":23,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_156319b2","line":20,"updated":"2014-08-26 08:59:16.000000000","message":"why not changing it for Debian/Ubuntu too ?","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"bd3f647e61e7cfef22417d69272d2dc963352e4a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        }"},{"line_number":18,"context_line":"        default: {"},{"line_number":19,"context_line":"          $service_provider            \u003d \u0027upstart\u0027"},{"line_number":20,"context_line":"          $keystone_wsgi_script_source \u003d \u0027puppet:///modules/keystone/httpd/keystone.py\u0027"},{"line_number":21,"context_line":"        }"},{"line_number":22,"context_line":"      }"},{"line_number":23,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_2da197a9","line":20,"in_reply_to":"1abeadc6_156319b2","updated":"2014-08-26 18:20:03.000000000","message":"Not sure what to do here.  The current value is wrong in some cases.  In both Ubuntu precise and saucy, the file is /usr/share/pyshared/keystone/common/wsgi.py\n\nhttp://packages.ubuntu.com/saucy/all/python-keystone/filelist\n\nhttp://packages.ubuntu.com/precise/all/python-keystone/filelist\n\nSame with Debian wheezy.  However, Debian jessie and sid use /usr/share/keystone/wsgi.py\n\nI\u0027d rather not start messing around with these paths, and I really don\u0027t want to come up with some sort of os matrix, unless this is common for puppet maintainers to do.","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"4a07f85784be62aa7dd5c92281b288fcb72ac162","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        }"},{"line_number":18,"context_line":"        default: {"},{"line_number":19,"context_line":"          $service_provider            \u003d \u0027upstart\u0027"},{"line_number":20,"context_line":"          $keystone_wsgi_script_source \u003d \u0027puppet:///modules/keystone/httpd/keystone.py\u0027"},{"line_number":21,"context_line":"        }"},{"line_number":22,"context_line":"      }"},{"line_number":23,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_6659ca5a","line":20,"in_reply_to":"1abeadc6_2da197a9","updated":"2014-08-27 13:58:42.000000000","message":"We have the choice between:\n* maintain a Python file in puppet-keytone\n* maintain the way to reach the file from puppet-keystone, depending of packaging (so depending of OS family)\n\nI would rather vote for #2.","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"972ff7fd376a1360e2e3d762213f4963c589cec0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"        }"},{"line_number":18,"context_line":"        default: {"},{"line_number":19,"context_line":"          $service_provider            \u003d \u0027upstart\u0027"},{"line_number":20,"context_line":"          $keystone_wsgi_script_source \u003d \u0027puppet:///modules/keystone/httpd/keystone.py\u0027"},{"line_number":21,"context_line":"        }"},{"line_number":22,"context_line":"      }"},{"line_number":23,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_baad7c33","line":20,"in_reply_to":"1abeadc6_6659ca5a","updated":"2014-08-28 20:34:03.000000000","message":"After further investigation, it appears that Ubuntu does _not_ provide this file.  It does provide a file called \"wsgi.py\" but this is not the same file as the Debian wsgi.py, which comes from the upstream source httpd/keystone.py.  None of the Ubuntu packages have this file.  So we will have to rely on the puppet keystone.py until such time as Ubuntu packages the httpd/keystone.py file.","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"}],"manifests/wsgi/apache.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"df40ea3118f3032e63dd631d2cfe78da5cba3739","unresolved":false,"context_lines":[{"line_number":94,"context_line":"  $ssl_crl_path  \u003d undef,"},{"line_number":95,"context_line":"  $ssl_crl       \u003d undef,"},{"line_number":96,"context_line":"  $ssl_certs_dir \u003d undef,"},{"line_number":97,"context_line":"  $threads       \u003d \u002710\u0027,"},{"line_number":98,"context_line":"  $priority      \u003d \u002710\u0027,"},{"line_number":99,"context_line":") {"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_95f569cd","line":97,"updated":"2014-08-26 08:59:16.000000000","message":"should not been processed by facter?\nOtherwise, why 10?","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"3e026e6e8b90bf7b8b8e6765083f62e991a731b0","unresolved":false,"context_lines":[{"line_number":94,"context_line":"  $ssl_crl_path  \u003d undef,"},{"line_number":95,"context_line":"  $ssl_crl       \u003d undef,"},{"line_number":96,"context_line":"  $ssl_certs_dir \u003d undef,"},{"line_number":97,"context_line":"  $threads       \u003d \u002710\u0027,"},{"line_number":98,"context_line":"  $priority      \u003d \u002710\u0027,"},{"line_number":99,"context_line":") {"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_cee73ee3","line":97,"in_reply_to":"1abeadc6_95f569cd","updated":"2014-08-26 17:29:57.000000000","message":"Not sure what you mean.  I don\u0027t see any facter parameters that are thread related.  There is a \"processorcount\" - I suppose I could use that for the number of threads.  The reason why it is 10 is because I just stole it from horizon::wsgi::apache.pp which has $wsgi_threads \u003d \u002710\u0027 and $wsgi_processes \u003d \u00273\u0027.","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"10546f6bd6c555adaca62e2c7b6aef03eea5fa5e","unresolved":false,"context_lines":[{"line_number":94,"context_line":"  $ssl_crl_path  \u003d undef,"},{"line_number":95,"context_line":"  $ssl_crl       \u003d undef,"},{"line_number":96,"context_line":"  $ssl_certs_dir \u003d undef,"},{"line_number":97,"context_line":"  $threads       \u003d \u002710\u0027,"},{"line_number":98,"context_line":"  $priority      \u003d \u002710\u0027,"},{"line_number":99,"context_line":") {"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":14,"id":"da9df570_6d81198f","line":97,"in_reply_to":"1abeadc6_9a18f676","updated":"2014-09-22 14:30:48.000000000","message":"Done","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"4a07f85784be62aa7dd5c92281b288fcb72ac162","unresolved":false,"context_lines":[{"line_number":94,"context_line":"  $ssl_crl_path  \u003d undef,"},{"line_number":95,"context_line":"  $ssl_crl       \u003d undef,"},{"line_number":96,"context_line":"  $ssl_certs_dir \u003d undef,"},{"line_number":97,"context_line":"  $threads       \u003d \u002710\u0027,"},{"line_number":98,"context_line":"  $priority      \u003d \u002710\u0027,"},{"line_number":99,"context_line":") {"},{"line_number":100,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":14,"id":"1abeadc6_9a18f676","line":97,"in_reply_to":"1abeadc6_cee73ee3","updated":"2014-08-27 13:58:42.000000000","message":"puppet-horizon also use 10 I know, I was part of this discussion and I still think we should use a fact (like processorcount) which would be smarter and more dynamic belong the server we install keystone.","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"}],"spec/classes/keystone_spec.rb":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"df40ea3118f3032e63dd631d2cfe78da5cba3739","unresolved":false,"context_lines":[{"line_number":120,"context_line":"      end"},{"line_number":121,"context_line":"    end"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    it \u0027should only migrate the db if $enabled is true\u0027 do"},{"line_number":124,"context_line":"      if param_hash[\u0027enabled\u0027]"},{"line_number":125,"context_line":"        should contain_exec(\u0027keystone-manage db_sync\u0027).with("},{"line_number":126,"context_line":"          :user        \u003d\u003e \u0027keystone\u0027,"}],"source_content_type":"text/x-ruby","patch_set":14,"id":"1abeadc6_15bf99d1","line":123,"updated":"2014-08-26 08:59:16.000000000","message":"s/migrate/synchronize/","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"},{"author":{"_account_id":9983,"name":"Richard Megginson","email":"rmeggins@redhat.com","username":"rmeggins"},"change_message_id":"10546f6bd6c555adaca62e2c7b6aef03eea5fa5e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"      end"},{"line_number":121,"context_line":"    end"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"    it \u0027should only migrate the db if $enabled is true\u0027 do"},{"line_number":124,"context_line":"      if param_hash[\u0027enabled\u0027]"},{"line_number":125,"context_line":"        should contain_exec(\u0027keystone-manage db_sync\u0027).with("},{"line_number":126,"context_line":"          :user        \u003d\u003e \u0027keystone\u0027,"}],"source_content_type":"text/x-ruby","patch_set":14,"id":"da9df570_0d4a4d80","line":123,"in_reply_to":"1abeadc6_15bf99d1","updated":"2014-09-22 14:30:48.000000000","message":"Done","commit_id":"ab9412674471075cc673af71031e0c7a723b882b"}]}
