Log of the #duraspace-ff channel on chat.freenode.net

Using timezone: Eastern Standard Time
* jcoyne leaves00:26
* ksclarke leaves01:38
* dwilcox joins07:05
* escowles joins07:16
<pivotal-bot>Esme Cowles started "Document reindexing" https://www.pivotaltracker.com/story/show/7683967807:20
* dwilcox leaves07:21
* dwilcox joins07:54
* mohamed joins08:23
* jcoyne joins08:27
* jcoyne leaves08:32
* mikeAtUVa joins08:50
* github-ff joins09:00
[fcrepo-jms-indexer-pluggable] escowles created missing-baseURI-error (+1 new commit): http://git.io/A6MLyA
fcrepo-jms-indexer-pluggable/missing-baseURI-error 71993fb Esmé Cowles: Parsing baseURI and returning 400 Bad Request if blank/invalid/etc.
* github-ff leaves
* github-ff joins09:01
[fcrepo-jms-indexer-pluggable] escowles opened pull request #50: Parsing baseURI and returning 400 Bad Request if blank/invalid/etc. (master...missing-baseURI-error) http://git.io/ULrgNw
* github-ff leaves
<pivotal-bot>Mike Durbin added "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/7686724609:05
Mike Durbin started "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/76867246
Esme Cowles added comment: "I've updated the wiki, and I also noticed that we weren't handling a missing or invalid baseURI, so I added so�" https://www.pivotaltracker.com/story/show/76839678
Esme Cowles finished "Document reindexing" https://www.pivotaltracker.com/story/show/76839678
Mike Durbin edited "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/7686724609:08
<bljenkins>Project fcrepo-jms-indexer-pluggable build #615: UNSTABLE in 10 min: http://ci.fcrepo.org/jenkins/job/fcrepo-jms-indexer-pluggable/615/09:11
<pivotal-bot>Mike Durbin edited "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/7686724609:14
Esme Cowles started "Binary content resource impl" https://www.pivotaltracker.com/story/show/7505329809:16
* tecoripa joins09:19
* github-ff joins09:26
[fcrepo-jms-indexer-pluggable] awoods pushed 1 new commit to master: http://git.io/j26xXg
fcrepo-jms-indexer-pluggable/master bea6e80 Andrew Woods: Merge pull request #50 from fcrepo4/missing-baseURI-error...
* github-ff leaves
<pivotal-bot>Andrew Woods delivered "Document reindexing" https://www.pivotaltracker.com/story/show/76839678
Andrew Woods deleted "Error-handle reindexing REST request" https://www.pivotaltracker.com/story/show/76840558
Andrew Woods edited "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/7686724609:27
Andrew Woods added comment: "In the future, please do not update your branch (and associated PR) with "force" pushes. It requires me to re�" https://www.pivotaltracker.com/story/show/7564418409:30
* github-ff joins09:32
[fcrepo-jms-indexer-pluggable] awoods deleted missing-baseURI-error at 71993fb: http://git.io/-YpWaA
* github-ff leaves
<pivotal-bot>Andrew Woods edited "Document reindexing - and add error-handling" https://www.pivotaltracker.com/story/show/7683967809:37
* mohamed leaves09:38
<bljenkins>Yippee, build fixed!09:40
Project fcrepo-jms-indexer-pluggable build #617: FIXED in 7 min 1 sec: http://ci.fcrepo.org/jenkins/job/fcrepo-jms-indexer-pluggable/617/
<pivotal-bot>Scott Prater started "Verify and document Infinispan backup/restore" https://www.pivotaltracker.com/story/show/7624750209:42
* jcoyne joins09:45
* mohamed joins09:47
<pivotal-bot>Andrew Woods added comment: "Still failing: ""09:50
DEBUG 09:43:51.206 (RdfRetriever) Retrieving RDF content from: http://localhost:8080/rest/coll�" https://www.pivotaltracker.com/story/show/75644184
Andrew Woods rejected "jms-indexer: Store jcr/xml in id hierarchy" https://www.pivotaltracker.com/story/show/75644184
* gregjansen joins09:56
* barmintor joins10:00
awoods: heads up that I will probably be a few minutes (5?) for TAG- I have a meeting across campus that ends at 12pm10:01
<awoods>barmintor: thanks
* ksclarke joins10:07
<pivotal-bot>Andrew Woods added comment: "The attached diff seems to resolve the issue (repository.json.diff)." https://www.pivotaltracker.com/story/show/7686724610:18
Andrew Woods added "fcrepo-module-auth-rbacl does not build" https://www.pivotaltracker.com/story/show/7687286610:22
Andrew Woods started "fcrepo-module-auth-rbacl does not build" https://www.pivotaltracker.com/story/show/76872866
Andrew Woods edited "fcrepo-module-auth-rbacl does not build" https://www.pivotaltracker.com/story/show/76872866
* longshou joins
<pivotal-bot>Mike Durbin added comment: "That certianly addresses one of the the problems. Another is addressed by updating paths from import static o�" https://www.pivotaltracker.com/story/show/7686724610:29
* github-ff joins
[fcrepo-module-auth-rbacl] awoods pushed 1 new commit to master: http://git.io/QKGzAw
fcrepo-module-auth-rbacl/master e9d7794 Andrew Woods: Resolves broken build due to ModeShape 3 -> 4 upgrade...
* github-ff leaves
<pivotal-bot>Andrew Woods added comment: "Resolved with: https://github.com/fcrepo4/fcrepo-module-auth-rbacl/commit/e9d77944e8a363fa6747749b2035ed915a4�" https://www.pivotaltracker.com/story/show/76872866
Andrew Woods delivered "fcrepo-module-auth-rbacl does not build" https://www.pivotaltracker.com/story/show/76872866
<bljenkins>Project fcrepo-module-auth-rbacl build #22: UNSTABLE in 5 min 51 sec: http://ci.fcrepo.org/jenkins/job/fcrepo-module-auth-rbacl/22/10:34
awoods: Resolves broken build due to ModeShape 3 -> 4 upgrade
* dwilcox leaves10:36
* github-ff joins10:37
[fcrepo4] cbeer closed pull request #367: Dependency updates (master...dep-update) http://git.io/lSy0hA
* github-ff leaves
* github-ff joins
[fcrepo4] cbeer deleted dep-update at 1981ebf: http://git.io/ngeARg
* github-ff leaves
<pivotal-bot>Andrew Woods edited "Many child nodes slowdown" https://www.pivotaltracker.com/story/show/7545983610:41
* dwilcox joins10:42
<escowles>tecoripa: you just trailed off11:03
* scossu joins11:10
<pivotal-bot>Longshou Situ added comment: "I've got FedoraRepository.getObject(String path) implemented. There are no unit tests yet. I think there are�" https://www.pivotaltracker.com/story/show/7505317011:17
<awoods>mikeAtUVa: are you jumping on skype?11:24
<mikeAtUVa>awoods: trying to remember my password;)
* mohamed leaves11:29
* mohamed joins11:32
* longshou leaves11:46
<pivotal-bot>Andrew Woods added comment: "Can you turn this into a PR for easier review?" https://www.pivotaltracker.com/story/show/7505317011:59
Andrew Woods edited "Object resource impl" https://www.pivotaltracker.com/story/show/75053170
<cbeer>awoods: is Alex Neil?12:01
* ajs6f joins12:04
awoods: Are we having the TWG call?12:05
<barmintor>ajs6f: we’re all on it now
EVEN ME
<ajs6f>Is it not https://plus.google.com/hangouts/_/fedora-commons.org/f4-tech-wg
?
<barmintor>https://plus.google.com/hangouts/_/event/c1glu6soq43r1rr6ou17qtobug8
<escowles>ajs6f: https://plus.google.com/hangouts/_/event/c1glu6soq43r1rr6ou17qtobug8
<ajs6f>OK.
* ajs6f leaves12:06
<cbeer>barmintor: i'd volunteer Rob Sanderson to help write the HTTP API spec.12:11
<barmintor>cbeer++
<mikeAtUVa>awoods: my rbacl tests are failing because on line 179 of org.fcrepo.kernel.impl.FedoraResourceImpl the "read" request includes a "set_property" action. Since path execution is dependent on runtime performance, I can see why it may not occur on your machine, but is occurring on mine and on Jenkins.12:17
* dwilcox leaves12:33
* tecoripa leaves12:34
* longshou joins12:38
* gregjansen leaves12:42
* dwilcox joins12:51
<cbeer>escowles, barmintor: i'm trying to figure out how to articulate this.. but is there a task to provide a base level understanding of the current implementation and previous testing?
<barmintor>cbeer++, comenting in gchat12:53
* dwilcox leaves12:58
* dwilcox_ joins
* mohamed1 joins
* mohamed leaves13:01
* dwilcox joins13:02
* dwilcox_ leaves13:03
* gregjansen joins
<pivotal-bot>Longshou Situ added comment: "@awoods Is there a way to do unit test for FedoraRepositoryImpl.getObject(String path) https://github.com/ls�" https://www.pivotaltracker.com/story/show/7505317013:04
* dwilcox_ joins
* dwilcox leaves13:06
<pivotal-bot>Andrew Woods added comment: "It looks like you will have to mock the arguments that go into: ""13:35
https://github.com/lsitu/fcrepo4-client/blob/�" https://www.pivotaltracker.com/story/show/75053170
<awoods>mikeAtUVa: are you saying that you are getting an error because the requesting IT user is unable to write the last-modified property?13:42
<mikeAtUVa>awoods: yeah, the test is for a user with READ privileges, but because under the hood we perform an update_property operation, they need write permissions, which they don't have.
<awoods>mikeAtUVa: Having a write in a read operation is probably less than ideal13:44
mikeAtUVa: That update was just put in: https://www.pivotaltracker.com/story/show/76616282
<pivotal-bot>bug: Creation date should never be newer than last modified date (delivered) / owner: Esme Cowles
<awoods>mikeAtUVa/escowles: It may be worth coming up with a different solution to that ticket.13:45
<mikeAtUVa>awoods: yeah, it might result in other bad outcomes... is there perhaps another way to implement that feature?
<awoods>mikeAtUVa: as soon as escowles gets off of his call, let's discuss reverting that PR13:46
<mikeAtUVa>awoods: OK.
<awoods>mikeAtUVa: do you have a patch for the compilation errors in xacml?13:47
<mikeAtUVa>awoods: yeah, should I make a PR?13:48
<awoods>mikeAtUVa: please
* gregjansen leaves13:49
<mikeAtUVa>https://github.com/fcrepo4/fcrepo-module-auth-xacml/pull/2313:52
* github-ff joins
[fcrepo-module-auth-xacml] mikedurbin opened pull request #23: Fixed compile-time errors. (master...master) http://git.io/0P3uwg
* github-ff leaves
<escowles>awoods / mikeAtUVa: yes, there were a few issues related to the read operationg doing a write (frozen versions, locked resources) that i added checks for13:53
<awoods>escowles: is there a way of setting the last-modified directly after the resource creation?13:54
<escowles>at the very least, we could put that in a try/catch block so it doesn't throw exceptions
* gregjansen joins
<escowles>awoods: let me poke around the service impl classes and see what the workflow is -- i think modeshape automatically sets the jcr:created property when we save the node, but i'll see13:55
<awoods>mikeAtUVa: my xacml build is now breaking on those ITs13:57
<mikeAtUVa>awoods, escowles: we could also not populate a jcr:lastModified on creation but instead have it lazily populated... or not at all. Is it unusual to have an object that hasnt' been modified since creation reporting no lastModifieddate?
awoods: I guess I'm glad it's not just me this time.13:58
<escowles>mikeAtUVa: yes, there is already a fallback to jcr:created if lastModified isn't found13:59
so we could just set lastModified on updates and otherwise omit it
<awoods>escowles: could we also update: https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-kernel-impl/src/main/java/org/fcrepo/kernel/impl/FedoraResourceImpl.java#L12314:00
...to setProperty to "creation-date"14:01
<escowles>cbeer: yes, i think the architecture diagram and discussion is one part of getting everybody on the same page about at least the broad outlines of the implementation. and there should be a similar effort on the testing results front so we all know where that stands
awoods: the problem is that jcr:created isn't set at that point (and you can't set it, even if you add the right mixin that allows it) -- that's what i tried first
<awoods>escowles: ok, thanks. After initial creation, does ModeShape internally set the last-modified property?14:02
escowles: if so, maybe we just remove line 123 from above.14:03
<escowles>awoods: i don't know -- i've been assuming we are setting it explicitly because mode doesn't do it for us, but it's worth testing...
<pivotal-bot>Mike Durbin added comment: "https://github.com/fcrepo4/fcrepo-module-auth-xacml/pull/23" https://www.pivotaltracker.com/story/show/7686724614:15
Mike Durbin edited "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/76867246
Mike Durbin added comment: "The remaining errors should disappear when 76616282 is addressed differently or reverted." https://www.pivotaltracker.com/story/show/76867246
<mikeAtUVa>awoods: my spring errors related to typos in my repository.json changes and need not conern you. fcrepo-module-auth--xacml will build and pass tests once we resolve this last-modified-date issue and merge PR 23.14:17
<escowles>awoods / mikeAtUVa: removing the explicit setting of jcr:lastModified fixes everything -- modeshape handles it automatically -- PR coming shortly14:18
<awoods>escowles: awesome14:19
<mikeAtUVa>escowles: that's great!
<awoods>escowles: I will go ahead and revert the previous PR
<escowles>awoods: wait -- we still need the IT that came with it -- i guess I can just re-add it
<awoods>escowles: I will not revert the PR if you would rather just make all of the updates in your new PR14:21
<escowles>awoods: yes, it'll be easier to just delete the explicit lastModified code
<awoods>escowles: sounds good14:22
<pivotal-bot>Longshou Situ added comment: "@awoods But Mockito can't mock the model created by ModelFactory.createDefaultModel(). Do you have any ideas�" https://www.pivotaltracker.com/story/show/7505317014:27
* barmintor_ joins14:32
<pivotal-bot>Esme Cowles added comment: "@longshous Can't you just mock Model.class?" https://www.pivotaltracker.com/story/show/7505317014:33
* github-ff joins14:34
[fcrepo4] escowles opened pull request #437: Removing explicit setting of lastModified when creating nodes (master...lastmod2) http://git.io/d2W_fA
* github-ff leaves
<escowles>awoods: ^^^14:35
* barmintor leaves14:41
* mikeAtUVa leaves
* tecoripa joins14:43
* travis-ci joins14:47
[travis-ci] fcrepo4/fcrepo4#2220 (lastmod2 - b10fd9a : Esmé Cowles): The build passed.
[travis-ci] Change view : https://github.com/fcrepo4/fcrepo4/commit/b10fd9a9ee3e
[travis-ci] Build details : http://travis-ci.org/fcrepo4/fcrepo4/builds/32464344
* travis-ci leaves
<awoods>on a call14:48
* mikeAtUVa joins
<pivotal-bot>Andrew Woods added comment: "Follow-on PR: https://github.com/fcrepo4/fcrepo4/pull/437" https://www.pivotaltracker.com/story/show/7661628214:52
<awoods>escowles: I am running the PR-437 locally now...14:54
* github-ff joins15:05
[fcrepo4] awoods closed pull request #437: Removing explicit setting of lastModified when creating nodes (master...lastmod2) http://git.io/d2W_fA
* github-ff leaves
<awoods>mikeAtUVa: your xacml will hopefully build now15:14
* travis-ci joins15:16
[travis-ci] fcrepo4/fcrepo4#2222 (master - 5f6a32e : Andrew Woods): The build passed.
[travis-ci] Change view : https://github.com/fcrepo4/fcrepo4/compare/61f839ecab98...5f6a32e78195
[travis-ci] Build details : http://travis-ci.org/fcrepo4/fcrepo4/builds/32467169
* travis-ci leaves
<mikeAtUVa>awoods, yeah, fcrepo-module-auth-rbacl and fcrepo-module-auth-xacml build now and pass all ITs.15:26
<awoods>mikeAtUVa: that is great
miketAtUVa: that was one of the day's goals.
<pivotal-bot>Esme Cowles added comment: "I'm seeing the same error as @awoods on my machine when I run the indexer and try to reindex a resource.15:36
IMHO�" https://www.pivotaltracker.com/story/show/75644184
Mike Durbin finished "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/7686724615:42
* dwilcox_ leaves16:03
<pivotal-bot>Longshou Situ added comment: "@escowles Could you show me an example? Thanks." https://www.pivotaltracker.com/story/show/75053170
* github-ff joins16:08
[fcrepo-module-auth-xacml] awoods pushed 1 new commit to master: http://git.io/_MFXeQ
fcrepo-module-auth-xacml/master 6d6753b Mike Durbin: Fix compile-time errors....
* github-ff leaves
<pivotal-bot>Andrew Woods added comment: "Resolved with: https://github.com/fcrepo4/fcrepo-module-auth-xacml/commit/6d6753b02dd262869435bb4f5e5e4371b20�" https://www.pivotaltracker.com/story/show/76867246
Andrew Woods delivered "fcrepo-module-auth-xacml doesn't build" https://www.pivotaltracker.com/story/show/76867246
* github-ff joins16:09
[fcrepo-module-auth-xacml] awoods closed pull request #23: Fixed compile-time errors. (master...master) http://git.io/0P3uwg
* github-ff leaves
* mohamed1 leaves16:11
* mohamed joins
<awoods>mohamed: any news on the UMd/jenkins front?16:12
* mikeAtUVa leaves16:17
* mikeAtUVa joins16:21
* scossu leaves16:24
<pivotal-bot>Esme Cowles added comment: "@longshous a good example of mocking an Iterator<Triple> is in RdfAdderTest: ""16:35
Setting up the triples:
https:/�" https://www.pivotaltracker.com/story/show/75053170
<bljenkins>Yippee, build fixed!16:38
Project fcrepo-module-auth-rbacl build #23: FIXED in 6 min 20 sec: http://ci.fcrepo.org/jenkins/job/fcrepo-module-auth-rbacl/23/
<tecoripa>awoods: question about slf4j classes and jetty...16:40
apparently there's a conflict with the log4j-over-slf4j jars and the slf4j jars enabled with a standalone jetty install, if you choose to use jetty's slf4j logging mechanisms16:41
they recommend fixing that by excluding the slf4j jars in your project's pom16:42
(they = slf4j docs)
<pivotal-bot>Longshou Situ started "jms-indexer: Store jcr/xml in id hierarchy" https://www.pivotaltracker.com/story/show/75644184
<tecoripa>but that seems rather drastic... not everyone will be deploying in jetty, and may want the included slf4j jars16:43
have you (or anyone else) run into this problem before?
* mikeAtUVa leaves16:44
<awoods>tecoripa: I assume we can not exclude the slf4j jars from jetty?16:45
tecoripa: what is the conflict error?16:46
<tecoripa>awoods: no. though I did find a workaround, but skipping the slf4j log implementation entirely, and just going with jetty's default JULI logs
<awoods>tecoripa: does that mean you are now fine?16:47
<tecoripa>I am fine now. (I always was pretty okay -- I don't take these things personally)
error was: "Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError."16:48
<awoods>tecoripa: that was a quick turnaround from when you posted the question and when you found your own solution.
<tecoripa>http://www.slf4j.org/codes.html
I found my own solution before...16:49
I just bring it up, because it seems like the sort of problem others might also run into later on.
<awoods>tecoripa: how exactly did you go "with jetty's default JULI logs"?16:51
<tecoripa>awoods: by removing the slf4j jars from jetty's classpath, and configuring jetty logging to use its built-in jetty JULI log classes.16:52
http://www.eclipse.org/jetty/documentation/current/example-logging-java-util-logging-native.html16:53
<pivotal-bot>Longshou Situ added comment: "@awoods @escowles I can't replicate the error when I try the following command: ""16:54
curl -X POST -d baseURI=http�" https://www.pivotaltracker.com/story/show/75644184
* scossu joins16:55
<pivotal-bot>Esme Cowles added comment: "@longshous: Does /rest/a/b/c/ have any child nodes? The error we're seeing happens when the indexer tries to �" https://www.pivotaltracker.com/story/show/7564418416:56
Andrew Woods added comment: "You need to make each element in the hierarchy "indexable": ""16:57
https://wiki.duraspace.org/display/FF/Indexer+Con�" https://www.pivotaltracker.com/story/show/75644184
* escowles leaves
* tecoripa leaves16:59
* gregjansen leaves17:00
<pivotal-bot>Andrew Woods added comment: "@escowles, what are you suggesting, exactly, in the FedoraObject/Resource/Datastream constructor comment abov�" https://www.pivotaltracker.com/story/show/7505317017:01
* scossu leaves17:04
* ksclarke leaves17:12
* barmintor leaves
* mohamed leaves
* mohamed joins17:13
* barmintor joins
* ksclarke joins17:14
<pivotal-bot>Longshou Situ added comment: "Attached is the result I got after I added a datastream to each level a/b/c/d. I don't have �" https://www.pivotaltracker.com/story/show/7564418417:22
* scossu joins17:23
* tecoripa joins17:32
* mohamed leaves17:39
* mohamed joins17:40
* mohamed leaves17:46
<pivotal-bot>Longshou Situ added comment: "@awoods Would you like me to do as what Esme's suggested above to store the jcr/xml as [basedir]/localhost/8�" https://www.pivotaltracker.com/story/show/7505317017:54
Longshou Situ added comment: "@awoods Would you like me to do as what Esme's suggested above to store the jcr/xml as [basedir]/localhost/8�" https://www.pivotaltracker.com/story/show/7564418417:56
Andrew Woods added comment: "@longshous, yes, @escowles' approach seems reasonable: using the full URL and removing the protocol (http) an�" https://www.pivotaltracker.com/story/show/75644184
* tecoripa leaves18:03
* scossu leaves18:19
<pivotal-bot>Andrew Woods accepted "fcrepo-module-auth-rbacl does not build" https://www.pivotaltracker.com/story/show/7687286618:35
Andrew Woods accepted "Document reindexing - and add error-handling" https://www.pivotaltracker.com/story/show/76839678
<barmintor>guuuuuh18:38
* jcoyne leaves
<awoods>barmintor: that does not sound good
<barmintor>fun facts: the fedora 3 webapp just didn’t include its MANIFEST.MF under META-INF, but no one noticed
I think that last push is the RC
config A passed, running B,C,Q18:39
Tomcat 7, context.xml under warfile/META-INF, running fcrepo-webapp mvn package -Dfedora.home=FOO builds a war file for your Fedora home18:40
just not fun to debug things that you think you broke but were already broken18:41
oh well
learning about maven or something
<awoods>barmintor: I will pull down your latest and see how she rolls18:43
<barmintor>awoods++ // thanks
build looking good so far over here into configC18:45
BUILD SUCCESS18:50
awoods: I’ve got to head to the train. Please let me know how it goes (or doesn’t)18:58
* barmintor leaves18:59
<awoods>barmintor: will do
* ksclarke leaves19:11
* ksclarke joins19:28
* escowles joins19:52
<pivotal-bot>Esme Cowles added comment: "@awoods I think it would be best if FedoraRepositoryImpl handles the HTTP request and response, parses the RDF�" https://www.pivotaltracker.com/story/show/7505317020:00
* dwilcox joins20:07
* github-ff joins20:14
[fcrepo-jms-indexer-pluggable] lsitu opened pull request #51: Persist jcr/xml in hierarchy path structure. (master...feature/jcrxml-path) http://git.io/W6vQCg
* github-ff leaves
<pivotal-bot>Longshou Situ added comment: "Okay, done. Thank you both.20:15
https://github.com/fcrepo4/fcrepo-jms-indexer-pluggable/pull/51" https://www.pivotaltracker.com/story/show/75644184
Longshou Situ finished "jms-indexer: Store jcr/xml in id hierarchy" https://www.pivotaltracker.com/story/show/75644184
* dwilcox leaves20:30
<pivotal-bot>Longshou Situ added comment: "@awoods @escowles20:33
* longshou leaves20:53
* jcoyne joins22:04
* awoods leaves22:33
* escowles leaves23:25
* jcoyne leaves23:30
* pmurray leaves23:52
* pmurray joins23:53
* pmurray leaves
* pmurray joins
* ksclarke leaves00:45

Generated by Sualtam