{"action":"created","comment":{"url":"https://api.github.com/repos/websdotcom/green_flag/pulls/comments/41166779","id":41166779,"diff_hunk":"@@ -1,135 +1,187 @@\n require 'spec_helper'\n-  describe GreenFlag::Feature do\n-    describe '.for_code!' do\n-      subject { GreenFlag::Feature.for_code!('foo') }\n-      \n-      it 'when feature does not exist, creates a feature' do\n-        expect{ subject }.to change { GreenFlag::Feature.count }.by(1)\n+\n+describe GreenFlag::Feature do\n+  describe '.for_code!' do\n+    subject { GreenFlag::Feature.for_code!('foo') }\n+    \n+    it 'when feature does not exist, creates a feature' do\n+      expect{ subject }.to change { GreenFlag::Feature.count }.by(1)\n+    end\n+    it 'when feature does exists, does not create a feature' do\n+      FactoryGirl.create(:green_flag_feature, code: 'foo')\n+      expect{ subject }.to_not change { GreenFlag::Feature.count }\n+    end\n+  end\n+\n+  describe '#decide_if_enabled_for_visitor' do\n+    let(:feature)          { GreenFlag::Feature.create(code: 'big_font') }\n+    let(:site_visitor_id)  { 1 }\n+\n+    let(:non_applying_rule) { double(id: 1, applies_to?: false, decision?: true)  }\n+    let(:true_rule)         { double(id: 2, applies_to?: true,  decision?: true)  }\n+    let(:false_rule)        { double(id: 3, applies_to?: true,  decision?: false) }\n+\n+    context 'there are no rules' do\n+      it 'returns a feature decision with the correct attributes' do\n+        feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n+\n+        expect(feature_decision.rule_id).to be_nil\n+        expect(feature_decision.enabled).to be_nil\n       end\n-      it 'when feature does exists, does not create a feature' do\n-        FactoryGirl.create(:green_flag_feature, code: 'foo')\n-        expect{ subject }.to_not change { GreenFlag::Feature.count }\n+    end\n+\n+    context 'the first applying rule is true' do\n+      it 'returns a feature decision with the correct attributes' do\n+        feature.stub(rules: [non_applying_rule, true_rule])\n+\n+        feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n+\n+        expect(feature_decision.rule_id).to eq true_rule.id\n+        expect(feature_decision.enabled).to eq true\n       end\n     end\n \n-    describe '#decide_if_enabled_for_visitor' do\n-      let(:feature)          { GreenFlag::Feature.create(code: 'big_font') }\n-      let(:site_visitor_id)  { 1 }\n+    context 'the first applying rule is false' do\n+      it 'returns a feature decision with the correct attributes' do\n+        feature.stub(rules: [false_rule, true_rule])\n \n-      let(:non_applying_rule) { double(id: 1, applies_to?: false, decision?: true)  }\n-      let(:true_rule)         { double(id: 2, applies_to?: true,  decision?: true)  }\n-      let(:false_rule)        { double(id: 3, applies_to?: true,  decision?: false) }\n+        feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n \n-      context 'there are no rules' do\n-        it 'returns a feature decision with the correct attributes' do\n-          feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n+        expect(feature_decision.rule_id).to eq false_rule.id\n+        expect(feature_decision.enabled).to eq false\n+      end\n+    end\n+  end\n \n-          expect(feature_decision.rule_id).to be_nil\n-          expect(feature_decision.enabled).to be_nil\n-        end\n+  describe '#forget_non_manual_decisions!' do\n+    let(:feature) { GreenFlag::Feature.create(code: 'big_font') }\n+    let(:enabled) { true }\n+\n+    context 'when there are no decisions' do\n+      subject { feature.forget_non_manual_decisions!(enabled) }\n+\n+      it 'should not attempt to delete non-manual decisions' do\n+        expect(GreenFlag::FeatureDecision.non_manual).to receive(:delete_all).never\n       end\n \n-      context 'the first applying rule is true' do\n-        it 'returns a feature decision with the correct attributes' do\n-          feature.stub(rules: [non_applying_rule, true_rule])\n+      it 'should not create a feature event' do\n+        expect(GreenFlag::FeatureEvent.count).to eq 0\n+      end\n+    end\n \n-          feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n+    context 'when there are manual decisions' do\n+      subject { feature.forget_non_manual_decisions!(enabled) }\n \n-          expect(feature_decision.rule_id).to eq true_rule.id\n-          expect(feature_decision.enabled).to eq true\n-        end\n+      before(:each) do\n+        @manual_fd = GreenFlag::FeatureDecision.create!(feature_id: feature.id, manual: true, site_visitor_id: 1)\n+      end\n+\n+      it 'should not delete the manual decisions' do\n+        expect(GreenFlag::FeatureDecision.find_by_id(@manual_fd.id)).to be_present\n       end\n \n-      context 'the first applying rule is false' do\n-        it 'returns a feature decision with the correct attributes' do\n-          feature.stub(rules: [false_rule, true_rule])\n+      it 'should not create a feature event' do\n+        expect(GreenFlag::FeatureEvent.count).to eq 0\n+      end\n+    end\n \n-          feature_decision = feature.decide_if_enabled_for_visitor(site_visitor_id)\n+    context 'when there are automatic decisions' do\n+      before(:each) do\n+        @feature2 = GreenFlag::Feature.create!(code: 'huge_banner_ad')\n+        @auto_fd = GreenFlag::FeatureDecision.create!(feature_id: @feature2.id, manual: false, enabled: true, site_visitor_id: 1)\n \n-          expect(feature_decision.rule_id).to eq false_rule.id\n-          expect(feature_decision.enabled).to eq false\n-        end\n+        @feature2.forget_non_manual_decisions!(enabled)\n+      end\n+\n+      it 'should delete the automatic decisions' do\n+        @feature2.forget_non_manual_decisions!(enabled)\n+        expect(GreenFlag::FeatureDecision.find_by_id(@auto_fd)).to be_nil\n+      end\n+\n+      it 'should create a feature event with the correct attributes' do\n+        feature_event = GreenFlag::FeatureEvent.last\n+        expect(feature_event).to be_present\n+        expect(feature_event.feature_id).to eq @feature2.id\n+        expect(feature_event.event_type_code).to eq GreenFlag::FeatureEvent::ENABLED_DECISIONS_FORGOTTEN\n+        expect(feature_event.count).to eq 1\n       end\n     end\n+  end\n \n-    describe '#forget_non_manual_decisions!' do\n-      let(:feature) { GreenFlag::Feature.create(code: 'big_font') }\n-      let(:enabled) { true }\n+  describe \"#latest_version\" do\n+    let(:feature) { FactoryGirl.create(:green_flag_feature, version_number: 1) }\n \n-      context 'when there are no decisions' do\n-        subject { feature.forget_non_manual_decisions!(enabled) }\n+    subject { feature.latest_version }\n \n-        it 'should not attempt to delete non-manual decisions' do\n-          expect(GreenFlag::FeatureDecision.non_manual).to receive(:delete_all).never\n+    context 'when there are rules' do","path":"spec/models/green_flag/feature_spec.rb","position":158,"original_position":158,"commit_id":"bfd2ae114840fbe6325d5bddf7dbf7ee1198dbfb","original_commit_id":"bfd2ae114840fbe6325d5bddf7dbf7ee1198dbfb","user":{"login":"houndci","id":6697940,"avatar_url":"https://avatars.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci","html_url":"https://github.com/houndci","followers_url":"https://api.github.com/users/houndci/followers","following_url":"https://api.github.com/users/houndci/following{/other_user}","gists_url":"https://api.github.com/users/houndci/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci/subscriptions","organizations_url":"https://api.github.com/users/houndci/orgs","repos_url":"https://api.github.com/users/houndci/repos","events_url":"https://api.github.com/users/houndci/events{/privacy}","received_events_url":"https://api.github.com/users/houndci/received_events","type":"User","site_admin":false},"body":"Prefer double-quoted strings unless you need single quotes to avoid extra backslashes for escaping.","created_at":"2015-10-05T16:43:27Z","updated_at":"2015-10-05T16:43:27Z","html_url":"https://github.com/websdotcom/green_flag/pull/5#discussion_r41166779","pull_request_url":"https://api.github.com/repos/websdotcom/green_flag/pulls/5","_links":{"self":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/comments/41166779"},"html":{"href":"https://github.com/websdotcom/green_flag/pull/5#discussion_r41166779"},"pull_request":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/5"}}},"pull_request":{"url":"https://api.github.com/repos/websdotcom/green_flag/pulls/5","id":46733968,"html_url":"https://github.com/websdotcom/green_flag/pull/5","diff_url":"https://github.com/websdotcom/green_flag/pull/5.diff","patch_url":"https://github.com/websdotcom/green_flag/pull/5.patch","issue_url":"https://api.github.com/repos/websdotcom/green_flag/issues/5","number":5,"state":"open","locked":false,"title":"Delete feature flag option","user":{"login":"jasonxp","id":2576493,"avatar_url":"https://avatars.githubusercontent.com/u/2576493?v=3","gravatar_id":"","url":"https://api.github.com/users/jasonxp","html_url":"https://github.com/jasonxp","followers_url":"https://api.github.com/users/jasonxp/followers","following_url":"https://api.github.com/users/jasonxp/following{/other_user}","gists_url":"https://api.github.com/users/jasonxp/gists{/gist_id}","starred_url":"https://api.github.com/users/jasonxp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jasonxp/subscriptions","organizations_url":"https://api.github.com/users/jasonxp/orgs","repos_url":"https://api.github.com/users/jasonxp/repos","events_url":"https://api.github.com/users/jasonxp/events{/privacy}","received_events_url":"https://api.github.com/users/jasonxp/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-10-04T21:39:59Z","updated_at":"2015-10-05T16:43:28Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bda686254ef371c50aacc55e92d25360e46d0621","assignee":{"login":"tmorton","id":32289,"avatar_url":"https://avatars.githubusercontent.com/u/32289?v=3","gravatar_id":"","url":"https://api.github.com/users/tmorton","html_url":"https://github.com/tmorton","followers_url":"https://api.github.com/users/tmorton/followers","following_url":"https://api.github.com/users/tmorton/following{/other_user}","gists_url":"https://api.github.com/users/tmorton/gists{/gist_id}","starred_url":"https://api.github.com/users/tmorton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tmorton/subscriptions","organizations_url":"https://api.github.com/users/tmorton/orgs","repos_url":"https://api.github.com/users/tmorton/repos","events_url":"https://api.github.com/users/tmorton/events{/privacy}","received_events_url":"https://api.github.com/users/tmorton/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/websdotcom/green_flag/pulls/5/commits","review_comments_url":"https://api.github.com/repos/websdotcom/green_flag/pulls/5/comments","review_comment_url":"https://api.github.com/repos/websdotcom/green_flag/pulls/comments{/number}","comments_url":"https://api.github.com/repos/websdotcom/green_flag/issues/5/comments","statuses_url":"https://api.github.com/repos/websdotcom/green_flag/statuses/bfd2ae114840fbe6325d5bddf7dbf7ee1198dbfb","head":{"label":"websdotcom:delete_feature_flag_option","ref":"delete_feature_flag_option","sha":"bfd2ae114840fbe6325d5bddf7dbf7ee1198dbfb","user":{"login":"websdotcom","id":264905,"avatar_url":"https://avatars.githubusercontent.com/u/264905?v=3","gravatar_id":"","url":"https://api.github.com/users/websdotcom","html_url":"https://github.com/websdotcom","followers_url":"https://api.github.com/users/websdotcom/followers","following_url":"https://api.github.com/users/websdotcom/following{/other_user}","gists_url":"https://api.github.com/users/websdotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/websdotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/websdotcom/subscriptions","organizations_url":"https://api.github.com/users/websdotcom/orgs","repos_url":"https://api.github.com/users/websdotcom/repos","events_url":"https://api.github.com/users/websdotcom/events{/privacy}","received_events_url":"https://api.github.com/users/websdotcom/received_events","type":"Organization","site_admin":false},"repo":{"id":39776692,"name":"green_flag","full_name":"websdotcom/green_flag","owner":{"login":"websdotcom","id":264905,"avatar_url":"https://avatars.githubusercontent.com/u/264905?v=3","gravatar_id":"","url":"https://api.github.com/users/websdotcom","html_url":"https://github.com/websdotcom","followers_url":"https://api.github.com/users/websdotcom/followers","following_url":"https://api.github.com/users/websdotcom/following{/other_user}","gists_url":"https://api.github.com/users/websdotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/websdotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/websdotcom/subscriptions","organizations_url":"https://api.github.com/users/websdotcom/orgs","repos_url":"https://api.github.com/users/websdotcom/repos","events_url":"https://api.github.com/users/websdotcom/events{/privacy}","received_events_url":"https://api.github.com/users/websdotcom/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/websdotcom/green_flag","description":"Feature toggle and a/b test framework","fork":false,"url":"https://api.github.com/repos/websdotcom/green_flag","forks_url":"https://api.github.com/repos/websdotcom/green_flag/forks","keys_url":"https://api.github.com/repos/websdotcom/green_flag/keys{/key_id}","collaborators_url":"https://api.github.com/repos/websdotcom/green_flag/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/websdotcom/green_flag/teams","hooks_url":"https://api.github.com/repos/websdotcom/green_flag/hooks","issue_events_url":"https://api.github.com/repos/websdotcom/green_flag/issues/events{/number}","events_url":"https://api.github.com/repos/websdotcom/green_flag/events","assignees_url":"https://api.github.com/repos/websdotcom/green_flag/assignees{/user}","branches_url":"https://api.github.com/repos/websdotcom/green_flag/branches{/branch}","tags_url":"https://api.github.com/repos/websdotcom/green_flag/tags","blobs_url":"https://api.github.com/repos/websdotcom/green_flag/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/websdotcom/green_flag/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/websdotcom/green_flag/git/refs{/sha}","trees_url":"https://api.github.com/repos/websdotcom/green_flag/git/trees{/sha}","statuses_url":"https://api.github.com/repos/websdotcom/green_flag/statuses/{sha}","languages_url":"https://api.github.com/repos/websdotcom/green_flag/languages","stargazers_url":"https://api.github.com/repos/websdotcom/green_flag/stargazers","contributors_url":"https://api.github.com/repos/websdotcom/green_flag/contributors","subscribers_url":"https://api.github.com/repos/websdotcom/green_flag/subscribers","subscription_url":"https://api.github.com/repos/websdotcom/green_flag/subscription","commits_url":"https://api.github.com/repos/websdotcom/green_flag/commits{/sha}","git_commits_url":"https://api.github.com/repos/websdotcom/green_flag/git/commits{/sha}","comments_url":"https://api.github.com/repos/websdotcom/green_flag/comments{/number}","issue_comment_url":"https://api.github.com/repos/websdotcom/green_flag/issues/comments{/number}","contents_url":"https://api.github.com/repos/websdotcom/green_flag/contents/{+path}","compare_url":"https://api.github.com/repos/websdotcom/green_flag/compare/{base}...{head}","merges_url":"https://api.github.com/repos/websdotcom/green_flag/merges","archive_url":"https://api.github.com/repos/websdotcom/green_flag/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/websdotcom/green_flag/downloads","issues_url":"https://api.github.com/repos/websdotcom/green_flag/issues{/number}","pulls_url":"https://api.github.com/repos/websdotcom/green_flag/pulls{/number}","milestones_url":"https://api.github.com/repos/websdotcom/green_flag/milestones{/number}","notifications_url":"https://api.github.com/repos/websdotcom/green_flag/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/websdotcom/green_flag/labels{/name}","releases_url":"https://api.github.com/repos/websdotcom/green_flag/releases{/id}","created_at":"2015-07-27T13:45:21Z","updated_at":"2015-08-04T20:39:22Z","pushed_at":"2015-10-05T16:43:07Z","git_url":"git://github.com/websdotcom/green_flag.git","ssh_url":"git@github.com:websdotcom/green_flag.git","clone_url":"https://github.com/websdotcom/green_flag.git","svn_url":"https://github.com/websdotcom/green_flag","homepage":null,"size":240,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"base":{"label":"websdotcom:master","ref":"master","sha":"02329c7d8303e211f155f4d84fc22694898f5421","user":{"login":"websdotcom","id":264905,"avatar_url":"https://avatars.githubusercontent.com/u/264905?v=3","gravatar_id":"","url":"https://api.github.com/users/websdotcom","html_url":"https://github.com/websdotcom","followers_url":"https://api.github.com/users/websdotcom/followers","following_url":"https://api.github.com/users/websdotcom/following{/other_user}","gists_url":"https://api.github.com/users/websdotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/websdotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/websdotcom/subscriptions","organizations_url":"https://api.github.com/users/websdotcom/orgs","repos_url":"https://api.github.com/users/websdotcom/repos","events_url":"https://api.github.com/users/websdotcom/events{/privacy}","received_events_url":"https://api.github.com/users/websdotcom/received_events","type":"Organization","site_admin":false},"repo":{"id":39776692,"name":"green_flag","full_name":"websdotcom/green_flag","owner":{"login":"websdotcom","id":264905,"avatar_url":"https://avatars.githubusercontent.com/u/264905?v=3","gravatar_id":"","url":"https://api.github.com/users/websdotcom","html_url":"https://github.com/websdotcom","followers_url":"https://api.github.com/users/websdotcom/followers","following_url":"https://api.github.com/users/websdotcom/following{/other_user}","gists_url":"https://api.github.com/users/websdotcom/gists{/gist_id}","starred_url":"https://api.github.com/users/websdotcom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/websdotcom/subscriptions","organizations_url":"https://api.github.com/users/websdotcom/orgs","repos_url":"https://api.github.com/users/websdotcom/repos","events_url":"https://api.github.com/users/websdotcom/events{/privacy}","received_events_url":"https://api.github.com/users/websdotcom/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/websdotcom/green_flag","description":"Feature toggle and a/b test framework","fork":false,"url":"https://api.github.com/repos/websdotcom/green_flag","forks_url":"https://api.github.com/repos/websdotcom/green_flag/forks","keys_url":"https://api.github.com/repos/websdotcom/green_flag/keys{/key_id}","collaborators_url":"https://api.github.com/repos/websdotcom/green_flag/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/websdotcom/green_flag/teams","hooks_url":"https://api.github.com/repos/websdotcom/green_flag/hooks","issue_events_url":"https://api.github.com/repos/websdotcom/green_flag/issues/events{/number}","events_url":"https://api.github.com/repos/websdotcom/green_flag/events","assignees_url":"https://api.github.com/repos/websdotcom/green_flag/assignees{/user}","branches_url":"https://api.github.com/repos/websdotcom/green_flag/branches{/branch}","tags_url":"https://api.github.com/repos/websdotcom/green_flag/tags","blobs_url":"https://api.github.com/repos/websdotcom/green_flag/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/websdotcom/green_flag/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/websdotcom/green_flag/git/refs{/sha}","trees_url":"https://api.github.com/repos/websdotcom/green_flag/git/trees{/sha}","statuses_url":"https://api.github.com/repos/websdotcom/green_flag/statuses/{sha}","languages_url":"https://api.github.com/repos/websdotcom/green_flag/languages","stargazers_url":"https://api.github.com/repos/websdotcom/green_flag/stargazers","contributors_url":"https://api.github.com/repos/websdotcom/green_flag/contributors","subscribers_url":"https://api.github.com/repos/websdotcom/green_flag/subscribers","subscription_url":"https://api.github.com/repos/websdotcom/green_flag/subscription","commits_url":"https://api.github.com/repos/websdotcom/green_flag/commits{/sha}","git_commits_url":"https://api.github.com/repos/websdotcom/green_flag/git/commits{/sha}","comments_url":"https://api.github.com/repos/websdotcom/green_flag/comments{/number}","issue_comment_url":"https://api.github.com/repos/websdotcom/green_flag/issues/comments{/number}","contents_url":"https://api.github.com/repos/websdotcom/green_flag/contents/{+path}","compare_url":"https://api.github.com/repos/websdotcom/green_flag/compare/{base}...{head}","merges_url":"https://api.github.com/repos/websdotcom/green_flag/merges","archive_url":"https://api.github.com/repos/websdotcom/green_flag/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/websdotcom/green_flag/downloads","issues_url":"https://api.github.com/repos/websdotcom/green_flag/issues{/number}","pulls_url":"https://api.github.com/repos/websdotcom/green_flag/pulls{/number}","milestones_url":"https://api.github.com/repos/websdotcom/green_flag/milestones{/number}","notifications_url":"https://api.github.com/repos/websdotcom/green_flag/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/websdotcom/green_flag/labels{/name}","releases_url":"https://api.github.com/repos/websdotcom/green_flag/releases{/id}","created_at":"2015-07-27T13:45:21Z","updated_at":"2015-08-04T20:39:22Z","pushed_at":"2015-10-05T16:43:07Z","git_url":"git://github.com/websdotcom/green_flag.git","ssh_url":"git@github.com:websdotcom/green_flag.git","clone_url":"https://github.com/websdotcom/green_flag.git","svn_url":"https://github.com/websdotcom/green_flag","homepage":null,"size":240,"stargazers_count":1,"watchers_count":1,"language":"Ruby","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/5"},"html":{"href":"https://github.com/websdotcom/green_flag/pull/5"},"issue":{"href":"https://api.github.com/repos/websdotcom/green_flag/issues/5"},"comments":{"href":"https://api.github.com/repos/websdotcom/green_flag/issues/5/comments"},"review_comments":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/5/comments"},"review_comment":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/websdotcom/green_flag/pulls/5/commits"},"statuses":{"href":"https://api.github.com/repos/websdotcom/green_flag/statuses/bfd2ae114840fbe6325d5bddf7dbf7ee1198dbfb"}}}}